加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在不使用ASP.Net MVC html助手的情况下绑定h

发布时间:2020-12-16 07:06:24 所属栏目:asp.Net 来源:网络整理
导读:我是MVC的新手.我在mvc中看到人们用这种方式生成html并绑定数据 @using (Html.BeginForm()){ div @Html.LabelFor(m = p.Name,"Name:") @Html.TextBoxFor(m = p.Name) /div input type="submit" value="Create" /} 但如果我不想使用html帮助扩展,那么我应该如
我是MVC的新手.我在mvc中看到人们用这种方式生成html并绑定数据

@using (Html.BeginForm())
{
    <div>
        @Html.LabelFor(m => p.Name,"Name:")
        @Html.TextBoxFor(m => p.Name)
    </div>
    <input type="submit" value="Create" />
}

但如果我不想使用html帮助扩展,那么我应该如何编码将正常的html控件和表单与模型数据绑定.请附上示例代码.谢谢

解决方法

您必须使用输入控件的name属性来匹配您的模型属性名称.

对于当前情况下的示例,如果要将TextBoxFor()替换为输入控件,请执行以下操作:

文本框:

@Html.TextBoxFor(m=> m.Name)
<input name="Name" type="Text" value="@Model.Name"/>

下拉列表:

@Html.DropDownListFor(m=>m.SomeProperty,ItemsList)

<select name="SomePropertyType">
<option value="someValue">Some Text</option>
</select>

我们必须为DropDown List案例做同样的事情.

@ Html.BeginForm():

@using(Html.BeginFor("ActionName","ControllerName",FormMethod.Post))
{
}

在HTML中对于表单,您必须使用表单标记:

<form action="@Url.Action("ActionName","ControllerName")" method="post">

</form>

更新:

@Html.TextBoxFor(m=>m.SomeProperty")

在html中:

<input id="SomeProperty" name="SomeProperty" type="text" value="@Model.SomeProperty" />

@Html.TextAreaFor("SomeName","",10,50,null)

在html中:

<textarea cols="50" id="SomeName" name="SomeName" rows="10">

PasswordFor:

@Html.PasswordFor(m=>m.SomeProperty)

在html中:

<input id="SomeProperty" name="SomeProperty" type="password" />

见this article of Scottgu for reference和this CodeProject article

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读