Как установить значения для свойств модели на странице .aspx в ASP.NET MVC 2? - PullRequest
0 голосов
/ 03 декабря 2010

У меня строго типизированное представление.Я передаю модель в представление, а затем назначаю значения модели меткам и т. Д.
Затем я также хотел бы программно установить значения модели на странице .aspx, например:

<%= Model.someValue = "foo"; %>

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

<%= Html.TextBoxFor(n => n.someValue) %>  

, но в этом случае это не вариант для меня.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2010

Если пользователь не должен изменять значения этой модели внутри представления, тогда вы можете использовать скрытые поля или просто передать какой-то уникальный идентификатор, который позволит действию контроллера восстановить модель из хранилища.

0 голосов
/ 03 декабря 2010

Какую информацию вы пытаетесь установить?Вам нужно поместить их в поля формы, которые будут отправлены обратно на сервер.Например,

public class MyModel
{
  public string Name { get; set; }

  public string UniqueCode { get; set; }
}

Если можно установить свойства, если мне нужно:

<% Model.UniqueCode = "something"; %>
<%= Html.HiddenFor(m => m.UniqueCode) %>

И затем принять эти новые значения при отправке формы:

public MyController : Controller
{
  public Index()
  {
    return View(new MyModel { Name = "Hello" });
  }

  [HttpPost]
  public Process(MyModel model)
  {
    string code = model.UniqueCode;
  }
}

Хотя почему ваш взгляд модифицирует модель?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...