我在MVC3(C#)中创建一个自定义字段,我想用视图中的Html属性访问它。我想把它放在自己的类中,这样我就可以很好地组织代码(私有方法等),因为我们当前的Html扩展类太吵了。自定义Html字段扩展MVC3
这就是我要找的:
ex。 @Html.CustomField...
目前,我有这样的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Matrix.Investigator.Models.Parties;
using Matrix.Investigator.Website.Extensions;
namespace Matrix.Investigator.Website.Fields
{
public static class DetailsField
{
public static MvcHtmlString PartyDetailsField(this HtmlHelper helper, IEnumerable<IDetailsConfiguration> configuation)
{
.
.
.
[Some Code for the field]
return MvcHtmlString.Create([CODE FOR TAG].toString());
}
}
}
无论如何,当我尝试使用此表单上不拿出在智能感知:
例如:<li>@Html.PartyDetailsField(Model.IdentifierConfiguration)</li>
但是,当相同的代码放在HtmlHelperExtensions文件中时,它工作得很好。我甚至没有看到类定义的差异。
是否有任何光线可以照在这种情况下,或者我将不得不将它留在HtmlHelperExtensions类中。
添加@using语句工作。但是,将其添加到web.config似乎没有任何作用。这肯定会是一个更好的解决方案(以便我可以在其他地方重复使用该控件,而不必担心忘记@using) –
关闭视图并再次打开后,效果很好。 –