在MVC.NET中使用html helper编辑模式
Edit mode using html helper in MVC.NET
我想使用@Html.DisplayFor
helper将我的对象绑定到我的视图。然后单击编辑按钮并将其更改为@Html.DisplayTextBoxFor
helper。我想在客户端做这个更改。
示例:使用如下的View
@Using Html.BeginForm("profile", "user", FormMethod.Post)
@<h2>User Profile</h2>
@<div>
@Html.LabelFor(function(m) m.email)
@Html.DisplayFor(function(m) m.email)
</div>
<input type="button" class="btn-primary" value="Edit Mode" />
<input type="submit" class="btn-primary" value="Save" />
End Using
点击"编辑模式"按钮,我希望电子邮件成为一个可编辑的文本框。然后我将在我的表单中提交。
你所要求的是不可能的。您不能在客户端上运行服务器代码。
因此,你必须选择另一个选项:
- 使用文本框,也用于显示内容,在需要时禁用或启用它们;
- 使用AJAX调用从服务器加载编辑表单。创建一个动作,返回一个
PartialView
输出和加载它在显示部分的地方(你可以使用jQuery,例如,从服务器获得实际的结果); - 执行一个完整的回发到服务器并重新加载整个页面。
在这种情况下,您不必使用DisplayFor()
@Html.TextBoxFor(x => x.email, new {@readonly = "true", id = "email"})
<input type="button" class="btn-primary" value="Edit Mode" id="edit" />
然后使用JQuery
<script>
$('#edit').on('click', function () {
$('#email').attr('readonly', 'false');
});
</script>
您需要为要访问的按钮添加一个id。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何设置html元素填充的动画
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何编写HTML输入的JS内联
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量
- 如何使Javascript动态html表及其上的事件
- 在chrome.tabs.onCreated之后加载HTML页面
- Scripts.Render in c# class (create html helper).在 c# 文件中使用 H
- 在数据表中返回 html.helper
- 如何从Html Helper类调用Java脚本函数'的脚本函数
- 使用jQuery动态添加MVC DropdownList HTML Helper
- 如何在使用Javascript单击按钮时触发HTML helper
- 在MVC中创建自定义Html helper扩展时如何避免重复的脚本标签
- 如何从handlebars helper返回对象或json数据到html
- Calling Javascript from HTML Helper
- 如何从helper返回html元素
- 在MVC.NET中使用html helper编辑模式