asp mvc返回表单和附加参数

时间:2014-08-13 08:33:22

标签: javascript ajax asp.net-mvc forms optional-parameters

我想向我的控制器发送一个表单(t_prospect对象)和一个附加参数,具体取决于用户的选择。

所以实际上,我的页面中有两个表单,即潜在客户表单,他们向我的控制器发送一个t_prospect对象,另一个表示只有当用户想要在创建潜在客户条目的同时发送电子邮件时才出现

我得到了我的可选表单,通过ajax调用返回给我相应的输入。 所以它不是两种形式,而是一种形式,其中包含一个对象的内容和一个可选参数。

我的控制器操作:

public ActionResult AjoutRapide()
    {
        List<string> listModel = new List<string>();

        foreach (var tMailModel in db.t_mail_modele)
        {
            listModel.Add(tMailModel.nom);
        }
        ViewBag.listModel = listModel;
        ViewBag.json = string.Empty;
        return View();
    }
    [HttpPost]
    public ActionResult AjoutRapide(t_prospect t_prospect, string param = "" )
    {
        List<string> listModel = new List<string>();

        foreach (var tMailModel in db.t_mail_modele)
        {
            listModel.Add(tMailModel.nom);
        }
        ViewBag.listModel = listModel;
        if (ModelState.IsValid)
        {
            if (param != null)
            {
                t_mail mail = new t_mail();
                db.t_mail.Add(mail);
            }
            db.t_prospect.Add(t_prospect);
            db.SaveChanges();
        }

        return View(t_prospect);
    }

我试过了:

**@using (Html.BeginForm("AjoutRapide", "MvcProspect", new { param = "formulaireRapide" }))**
{

<div class="form-horizontal">
    <hr />
    @Html.ValidationSummary(true)

    <div class="form-group">
        @Html.LabelFor(model => model.nom, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.nom)
            @Html.ValidationMessageFor(model => model.nom)
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.adresse, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.adresse)
            @Html.ValidationMessageFor(model => model.adresse)
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.telephone, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.telephone)
            @Html.ValidationMessageFor(model => model.telephone)
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.mail, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.mail)
            @Html.ValidationMessageFor(model => model.mail)
        </div>
    </div>


    <div class="form-group">
        @Html.LabelFor(model => model.siteWeb, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.siteWeb)
            @Html.ValidationMessageFor(model => model.siteWeb)
        </div>
    </div>
    <select id="ddl_model">
        @foreach (var item in ViewBag.listModel)
        {
            <option>@item</option>
        }
    </select>
    <div id="formulaire_param"></div>
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" />
        </div>
    </div>
</div>
}

但无法获取我的可选参数的值,该参数是由javascript函数创建的json.Stingify字符串。

我怎样才能拥有Html.BeginForm()我的可选参数的值?

0 个答案:

没有答案