Каков наилучший способ написать форму в ASP.NET MVC?


4

Каков наилучший способ написать форму для отправки некоторых данных в ASP.NET MVC? Это как Scott Guthrie демонстрирует здесь? Есть ли лучшие подходы? Возможно, с меньшим использованием строк?

alt text

  0

Это в основном вопрос предпочтения, есть немного прироста производительности с использованием строк, но для большинства веб-приложений это не имеет значения. 09 апр. 112011-04-09 17:02:11

2

Я не очень люблю строки в моем коде, так как это не возможно, чтобы реорганизовать. Хорошим способом является использование выражений Linq. Если вы прошли модель, как ViewData вы можете использовать следующее заявление:

<%= ShowDropDownBox(viewData => viewData.Name); %> 
... 

public static string ShowDropDownList<T>(this HtmlHelper html, Expression<Action<T>> property) 
{ 
    var body = action.Body as MethodCallExpression; 
    if (body == null) 
     throw new InvalidOperationException("Expression must be a method call."); 
    if (body.Object != action.Parameters[0]) 
     throw new InvalidOperationException("Method call must target lambda argument."); 
    string propertyName = body.Method.Name; 
    string typeName = typeof(T).Name; 

    // now you can call the original method 
    html.Select(propertyName, ...); 
} 

Я знаю, что оригинальное решение выполняет быстрее, но я думаю, что это один гораздо чище.

Надеюсь, это поможет!

  0

В прошлый раз, когда я пробовал рефакторинг, он не обновлял мои виды бритвы 09 апр. 112011-04-09 17:03:30

  0

А также мы можем избавиться Action = «Обновить» магическую строку с помощью T4MVC 01 апр. 122012-04-01 09:55:53