如何从Razor视图调用控件

时间:2013-03-14 12:53:17

标签: razor asp.net-mvc-4

我在移动网站上工作,我使用razor引擎我创建了我的代码来从DB中检索字段ID。我为ID添加了默认值但是我希望隐藏控件的ID。

视图:

 <fieldset>
        <legend></legend>
      @Html.HiddenFor(model=>model.ID)
        <div class="editor-label ">
            @Html.LabelFor(model => model.User)
        </div>
        <div class="editor-field create-Bt3">
            @Html.EditorFor(model => model.User)
            @Html.ValidationMessageFor(model => model.User)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.Password)
        </div>
        <div class="editor-field create-Bt3">
            @Html.EditorFor(model => model.Password)
            @Html.ValidationMessageFor(model => model.Password)
        </div>
        <div>
            <p class="create-Bt ">
                <input type="submit" value="Insert" />
            </p>
        </div>
    </fieldset>

控制器:

[HttpPost]
public ActionResult LoginIndex(string Role)
{
    var data = db.Login.ToList();


    if (Role == "DataEntry")
    {
        Response.Redirect("../Category/Index");
    }
    else
    {
        Response.Redirect("../Login/Index");
    }
    return View();



}

1 个答案:

答案 0 :(得分:0)

您可以为使用@Html.Hiddenfor

创建的元素设置显式Id

Razor允许您传递一个对象,或者dictionary<string, object>来设置它生成的控件的html参数。

使用它,您的代码将如下所示:

@Html.HiddenFor(model=>model.ID, new {Id="hiddenInputId"});

这将生成以下内容:(值可能与我的示例不同)

 <input type="hidden" id="hiddenInputId" name="Id" Value="0" />