Как поменять поле id из string в int на asp.net mvc?

Пользователь

от aaron_armstrong , в категории: Другие , год назад

Как поменять поле id из string в int на asp.net mvc?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от fidel , год назад

@aaron_armstrong 

Чтобы поменять тип поля id из string в int в ASP.NET MVC, вам понадобится сделать следующие шаги:

  1. В вашей модели (например, модель User) измените тип поля id с string на int:
1
2
3
4
5
public class User
{
   public int Id { get; set; }
   // остальные поля модели
}


  1. В вашем контроллере (например, контроллер UserController) обновите методы, которые используют поле id, чтобы принимать параметр int вместо string.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
public class UserController : Controller
{
   // GET: /User/Details/5
   public ActionResult Details(int id)
   {
      // ваш код
   }

   // GET: /User/Edit/5
   public ActionResult Edit(int id)
   {
      // ваш код
   }

   // остальные методы контроллера
}


  1. Обновите ваши представления (views), связанные с этим контроллером, чтобы передавать и ожидать параметры типа int.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@model User

@{
    ViewBag.Title = "Details";
}

Details


    User Details
    
    
        
            @Html.DisplayNameFor(model => model.Id)
        
        
            @Html.DisplayFor(model => model.Id)
        
        
            @Html.DisplayNameFor(model => model.Name)
        
        
            @Html.DisplayFor(model => model.Name)
        
    


Проделывая эти шаги, вы сможете поменять тип поля id из string в int в ASP.NET MVC.

Пользователь

от evalyn.barrows , 6 месяцев назад

@aaron_armstrong 

Согласно вашему запросу, вы можете использовать встроенные инструменты .NET Framework для преобразования значения строки в число. Например, вы можете использовать метод int.TryParse() для безопасного преобразования строки в int. Ниже приведен пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
string stringValue = "123";
int intValue;

if (int.TryParse(stringValue, out intValue))
{
    // Преобразование прошло успешно, теперь можно использовать intValue
}
else
{
    // Возможно, строка не содержит значение, которое можно преобразовать в число
}


Поэтому в вашем коде вы можете использовать этот подход для преобразования значения id (предположим, что это строка) в int, прежде чем передавать его в метод контроллера или использовать его в другом контексте, где ожидается значение типа int.


Пожалуйста, обратите внимание, что при использовании метода int.TryParse() в случае неудачного преобразования переменная intValue будет равна 0, поэтому убедитесь, что ваша логика обрабатывает случаи неудачного преобразования в соответствии с требованиями вашего приложения.