我怎样才能设置HiddenFieldFor默认值在Asp.Net MVC [英] How can i set Default value for HiddenFieldFor In Asp.Net MVC

查看:766
本文介绍了我怎样才能设置HiddenFieldFor默认值在Asp.Net MVC的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用HiddenFor与模型的结合具有约束力的价值吧。
我希望我能做到这一点重置绑定值zero.How?

我试过,但它不工作...

 <%的foreach(在型号VAR项){%GT;
 <%:Html.HiddenFor(型号=> model.ID,新{@值=0})%GT;
 <%}%GT;


解决方案

您可以创建自己的帮助扩展是:

 公共静态MvcHtmlString HiddenFor<的TModel,TProperty>(此的HtmlHelper<的TModel>的帮手,防爆pression< Func键<的TModel,TProperty>>前pression,对象值,对象htmlAttributes)
{
    VAR propertyName的防爆= pressionHelper.GetEx pressionText(如pression);    VAR输入=新TagBuilder(输入);
    input.MergeAttribute(ID,helper.AttributeEn code(helper.ViewData.TemplateInfo.GetFullHtmlFieldId(propertyName的)));
    input.MergeAttribute(名,helper.AttributeEn code(helper.ViewData.TemplateInfo.GetFullHtmlFieldName(propertyName的)));
    input.MergeAttribute(价值,value.ToString());
    input.MergeAttribute(类型,隐藏);
    input.MergeAttributes(新RouteValueDictionary(htmlAttributes));    返回MvcHtmlString.Create(input.ToString());
}

i am using HiddenFor with model binding which is binding value to it. i want to reset the binded value to zero.How can i do it?

i tried this but it is not working...

<% foreach (var item in Model ) { %>
 <%: Html.HiddenFor(model => model.ID,new { @value="0"})%>
 <% } %>

解决方案

You can create your own helper extension for that:

public static MvcHtmlString HiddenFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression, object value, object htmlAttributes)
{
    var propertyName = ExpressionHelper.GetExpressionText(expression);

    var input = new TagBuilder("input");
    input.MergeAttribute("id", helper.AttributeEncode(helper.ViewData.TemplateInfo.GetFullHtmlFieldId(propertyName)));
    input.MergeAttribute("name", helper.AttributeEncode(helper.ViewData.TemplateInfo.GetFullHtmlFieldName(propertyName)));
    input.MergeAttribute("value", value.ToString());
    input.MergeAttribute("type", "hidden");
    input.MergeAttributes(new RouteValueDictionary(htmlAttributes));

    return MvcHtmlString.Create(input.ToString());
}

这篇关于我怎样才能设置HiddenFieldFor默认值在Asp.Net MVC的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆