我们的客户端只需要一个视图窗体(使控件为只读形式并不是一个可接受的解决方案:-()它显示文本框的值/下拉列表框逗号分隔值)作为标签,当用户只读访问该表单时,是否有一个Jquery插件可以做到这一点?我不想创建一个单独的部分视图集来完成这个任务。这方面是非常赞赏。Jquery - 将控件更改为标签(仅限查看表单)
感谢,
拉贾
我们的客户端只需要一个视图窗体(使控件为只读形式并不是一个可接受的解决方案:-()它显示文本框的值/下拉列表框逗号分隔值)作为标签,当用户只读访问该表单时,是否有一个Jquery插件可以做到这一点?我不想创建一个单独的部分视图集来完成这个任务。这方面是非常赞赏。Jquery - 将控件更改为标签(仅限查看表单)
感谢,
拉贾
是的,你可以。我不建议。
使用CSS类中声明你的助手这样你就可以抓住他们所有jQuery选择
@Html.TextBox("txtName", "20", new { @class = "cssChange" })
使用jQuery来改变自己的形式,以标签
$(".cssChange").replaceWith(function() {
return "<input type=\"label\" value=\"" + $(this).html() + "\" />";
});
我的代码没有测试 。这纯粹是有益的。
我建议反对它。我会推荐另一个带有标签和切换的div。但是这个选项是可用的。祝你好运。
这似乎是一个不错的选择。我将以此为起点,并与之合作。感谢一堆戴夫:)。 – Raja
@Raja,祝你好运! –
public static MvcHtmlString EditorOrDisplayFor<TModel, TProperty>(
this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression,
bool canEdit, int boxWidth = 100)
{
var sb = new StringBuilder();
if (canEdit)
{
var editor = htmlHelper.TextBoxFor(expression, new { style = "width: " + boxWidth + "px;" });
sb.AppendFormat("<div class=\"TextEditor\">{0}</div>", editor);
}
else
{
var lbl = htmlHelper.LabelFor(expression);
var hid = htmlHelper.HiddenFor(expression);
sb.AppendFormat("<div class=\"CanNotEdit\">{0}{1}</div>", lbl, hid);
}
return MvcHtmlString.Create(sb.ToString());
}
你为什么不阻止他们发布呢? – Popnoodles
我已经完全采取了任何有点行动的按钮,但它是不被客户接受的。他们希望用户只能看到标签,只要它们具有只读访问权限即可。 – Raja
只有标签?那么不是具有这些值的输入?只是标题像“标题”没有有用的数据“电子邮件”没有有用的数据等 – Popnoodles