标签: html-helper

如何动态地将多个参数传递给Asp .Net MVC中的Html.Action

我有参数发送像

@Html.Action("actionName", "controlName", new{ pName1 = "pValue1", ... })

但是,pName1 = "pValue1", ...将来自控制器的ViewBag.应该用ViewBag封装的对象类型,以及如何将路由值设置为Html.Action?

c# html-helper parameter-passing asp.net-mvc-4

3
推荐指数
1
解决办法
2万
查看次数

将Expression <Func <TModel,TValue >>转换为Expression <Func <TModel,bool >>

我有一个自定义的HtmlHelper扩展,它根据teh帮助器输入参数呈现控件.

我处于这样的情况,我能够渲染任何控件,除了CheckBox.当CheckBoxFor助手接受时,Expression<Func<TModel, bool>>

我需要一种方法将Func的返回类型转换为bool,如标题中所述.

lambda html-helper asp.net-mvc-4

3
推荐指数
1
解决办法
1051
查看次数

添加mailto链接到actionlink

如何添加mailto链接到MVC Html.Actionlink Helper?

@foreach (var item in Model) {
    <tr>
        <td>
            @{ var email = "mailto:" + item.user.Firstname + "@testmail.org";}
            @Html.ActionLink(item.user.Fullname, email)

        </td>
Run Code Online (Sandbox Code Playgroud)

只在我的浏览器中创建一个如下所示的链接: http:// localhost:53371/Open/mailto%3amail%40testmail.org

c# asp.net-mvc html-helper

3
推荐指数
1
解决办法
1451
查看次数

TagBuilder中的内部ToMVCHmlString

我希望在我自己的程序集中编写一些帮助程序,模仿System.web.mvc中的帮助程序.我的问题是我无法使用对Tagbuilder.ToMvcHtlString的调用,因为它是内部的.因此,如果我返回一个字符串,它就不会为asp.net 4做好准备.

我不想添加任何东西到system.web.mvc,因为这是一个给定的DLL.

asp.net asp.net-mvc html-helper tagbuilder

2
推荐指数
1
解决办法
254
查看次数

将DateTime转换为Date

码:

  <% foreach (var item in Model) { %>   
  <td>
     <%= Html.Encode(item.BirthDate) %>
  </td>
  <% } %>
Run Code Online (Sandbox Code Playgroud)

显示:8/24/2009 12:00:00 AM但我只需要日期(2009年8月24日).可以在控制器动作中不进行任何格式化

asp.net-mvc html-helper

2
推荐指数
1
解决办法
6039
查看次数

在常规ASP.NET MVC项目中使用Webmatrix帮助程序

WebMatrix中HTML辅助看起来很方便.有没有办法在Visual Studio的常规ASP.NET MVC项目中使用它们?

谢谢,

阿德里安

asp.net-mvc html-helper webmatrix

2
推荐指数
1
解决办法
570
查看次数

在ASP.NEt MVC 3中的Html.BeginForm()中传递DropDownList的SelectedValue

这是我的查看代码:

@using(Html.BeginForm(new { SelectedId = /*SelectedValue of DropDown*/ })) {

 <fieldset>

     <dl>
       <dt>
           @Html.Label(Model.Category)
       </dt>
       <dd>
        @Html.DropDownListFor(model => Model.Category, CategoryList)
       </dd>
    </dl>

 </fieldset>
 <input type="submit" value="Search" />


}
Run Code Online (Sandbox Code Playgroud)

如图所示,我需要将dropdown所选值传递给BeginForm()Html帮助器中的操作.你的建议是什么?

asp.net-mvc html-helper html.beginform razor asp.net-mvc-3

2
推荐指数
1
解决办法
2万
查看次数

无法使用TagBuilder组合标签

我正在尝试构建组合标记:

第一个标签:<span class="requiredInidicator">* </span> 第二个标签:( <label>SomeText</label>为简洁而剪裁的属性)

我想结合这些来返回一个MVCHtmlString,但下面的代码完全忽略了span.有人能指出我做错了什么

这是我的代码:

// Create the Label
var tagBuilder = new TagBuilder("label");
tagBuilder.Attributes.Add("id", "required" + id);
//I get the id earlier fyi - not pertinent fyi for this question )

// Create the Span
var required = new TagBuilder("span");
required.AddCssClass("requiredInidicator"); 
required.SetInnerText("* ");

//Now combine the span's content with the label tag
tagBuilder.InnerHtml += required.ToString(TagRenderMode.Normal);
tagBuilder.SetInnerText(labelText);
var tag = MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.Normal));
return tag;
Run Code Online (Sandbox Code Playgroud)

创建标记时,将完全忽略范围.当我在调试期间检查标签时,它并不关心我附加via所需的内容.InnerHtml+=

有什么明显的东西我做错了吗?

c# html-helper asp.net-mvc-4

2
推荐指数
1
解决办法
6594
查看次数

HTML助手是否值得使用复杂的标记?

我应该坚持使用HTML帮助程序,还是只使用纯HTML?

我一直在使用HTML助手一段时间,非常喜欢使用它们.最近我开始使用诸如Twitter Bootstrap之类的CSS框架,我发现我的标记过于复杂而无法使用标准HTML帮助程序.

当然,我仍然使用Url.Action()生成链接,有时@Html.TextBoxFor()或类似的简单形式,但是,例如,我发现一些帮助者喜欢Html.ActionLink()Using Html.BeginForm()只是不切割它.

我的标记通常包含复杂的巢.例如,在Bootstrap中,我可能想要添加一个图标作为链接的一部分:

<a href="#">
    <i class="icon-user"></i>
    <span>Simple link</span>
</a>
Run Code Online (Sandbox Code Playgroud)

这在Bootstrap中很常见,我觉得HTML助手会妨碍它.我可以自己做,但我的标记完全不同.

假设我只使用少量的HTML助手; 需要的地方.这提出了另一个问题:

如果我最小化HTML帮助程序的使用,我应该完全放弃它们并主要使用常规HTML来保持一致性吗?

asp.net-mvc html-helper asp.net-mvc-4

2
推荐指数
1
解决办法
961
查看次数

ActionLink扩展方法MVC5中的htmlAttributes

我正在使用扩展方法在菜单上的活动链接上维护css类.

但是我遇到了htmlAttributes和对象值导致错误的问题.

我在Razor页面中有以下内容,但我不明白我是如何解析htmlAttributes的.

@Html.MenuLink("Summary", "Summary", "Graphs", null, new { @class = "dropdown-toggle caret", data_target = "#", data_toggle = "dropdown" })
Run Code Online (Sandbox Code Playgroud)

从查看HtmlHelper开始,该方法应该具有IDictionary<object, string>htmlAttributes的类型.新{ @class = "dropdown-toggle caret", data_target = "#", data_toggle = "dropdown" }语法对于字典来说并不常见,所以这是正确的吗?

显然我做错了,因为它返回了以下错误:

Argument 6: cannot convert from '<anonymous type: string class, string data_target, string data_toggle>' to 'System.Collections.Generic.IDictionary<object, string>'
Run Code Online (Sandbox Code Playgroud)

扩展方法我试图在下面工作:

public static MvcHtmlString MenuLink(this HtmlHelper htmlHelper, string text, string action, string controller, RouteValueDictionary routeValues, IDictionary<object, string> htmlAttributes)
        {
            var routeData = htmlHelper.ViewContext.RouteData.Values;

            var currentController = …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc html-helper razor

2
推荐指数
1
解决办法
577
查看次数