ASP.net MVC Controller, принимающий FormCollection И целое число - PullRequest
0 голосов
/ 01 апреля 2011

У меня есть простая форма, текстовое поле и командная кнопка. Я использую method = "post", чтобы получить значение, которое вводится в текстовое поле для контроллера. Метод контроллера выглядит следующим образом:

public ActionResult Index(FormCollection form)
        {

Это все нормально, но позже я хочу использовать следующее: return RedirectToAction ("../ MyFolder / MyView /" + MyID); но так как мое первоначальное представление (индекс) работало путем передачи коллекции форм, я не могу сделать это выше. Как я могу сделать это возможным? любая помощь будет принята с благодарностью!

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Я вряд ли смогу разобраться в вашем вопросе, но вот часто используемый шаблон в ASP.NET MVC, который вам может пригодиться:

// Used to render some form allowing to edit a model
public ActionResult Index(int id)
{
    var model = _someRepository.Get(id);
    return View(model);
}

// used to handle the submission of the form
[HttpPost]
public ActionResult Index(SomeViewModel model)
{
    if (!ModelState.IsValid)
    {
        // the model was invalid => redisplay the form insulting the user
        return View(model);
    }
    // TODO: the user entered valid information => process the model
    // and redirect
    return RedirectToAction("Index", new { id = model.Id });
}
1 голос
/ 01 апреля 2011

Если я получил ваш вопрос, вы можете переписать свой метод как

public ActionResult Index(int id, FormCollection forms)
    {...}

Чем вы можете использовать forms и id

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