asp.net mvc 3 удаленный атрибут, пропускающий 3 поля - PullRequest
11 голосов
/ 20 июня 2011

Я хочу передать три поля моему контроллеру с помощью RemoteAttribute.Как я могу это сделать?

 public int ID1 { get; set; }  
 public int ID2 { get; set; }  

 [Remote("CheckTopicExists", "Groups", AdditionalFields = "ID1", ErrorMessage = " ")]  
 public string Topic { get; set; }   

        public ActionResult CheckTopicExists(string topic, int ID1,int ID2)   
        {
            return Json(true, JsonRequestBehavior.AllowGet);
        }

Как я могу передать три поля этой функции?

Ответы [ 3 ]

35 голосов
/ 20 июня 2011

Вы можете разделить их запятыми:

AdditionalFields = "ID1, ID2"

Полный пример:

Модель:

public class MyViewModel
{
    public int ID1 { get; set; }
    public int ID2 { get; set; }

    [Remote("CheckTopicExists", "Home", AdditionalFields = "ID1, ID2", ErrorMessage = " ")]
    public string Topic { get; set; }
}

Контроллер:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(new MyViewModel
        {
            ID1 = 1,
            ID2 = 2,
            Topic = "sample topic"
        });
    }

    [HttpPost]
    public ActionResult Index(MyViewModel model)
    {
        return View(model);
    }

    public ActionResult CheckTopicExists(MyViewModel model)
    { 
        return Json(false, JsonRequestBehavior.AllowGet); 
    }
}

Вид:

@model MyViewModel

<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

@using (Html.BeginForm())
{
    @Html.EditorFor(x => x.ID1)
    @Html.EditorFor(x => x.ID2)

    @Html.LabelFor(x => x.Topic)
    @Html.EditorFor(x => x.Topic)
    @Html.ValidationMessageFor(x => x.Topic)
    <input type="submit" value="OK" />
}
1 голос
/ 15 марта 2013

Помните о датах отправки, иногда контроллер получает дату в неправильном формате: было дд / мм / гггг, получение мм / дд / гггг

0 голосов
/ 16 августа 2012

Вместо использования

public ActionResult CheckTopicExists(MyViewModel model)

Если вы используете

public ActionResult CheckTopicExists(FormCollection Collection)

, то вы можете повторно использовать код и для других классов

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