Javascript 脚本。在c#类中呈现(创建html助手)。在c#文件中使用HtmlHelper中的函数
我正在尝试创建自己的html助手。我需要在返回的字符串中添加一些javascriptJavascript 脚本。在c#类中呈现(创建html助手)。在c#文件中使用HtmlHelper中的函数,javascript,c#,asp.net-mvc,asp.net-mvc-4,Javascript,C#,Asp.net Mvc,Asp.net Mvc 4,我正在尝试创建自己的html助手。我需要在返回的字符串中添加一些javascript public static string ListCheckbox(this HtmlHelper helper, string actionName, int value) { return String.Format("<input type='checkbox' value='{1}' onclick='Action_{0}()'></input>", action
public static string ListCheckbox(this HtmlHelper helper, string actionName, int value)
{
return String.Format("<input type='checkbox' value='{1}' onclick='Action_{0}()'></input>", actionName, value);
}
但这在c文件中不起作用。HtmlHelper辅助变量没有“脚本”或“渲染”之类的内容。我可以在c#类中使用这些函数吗?您可以重用
System.Web.Optimizaton.Scripts.Render
静态方法的输出,如下所示
using System.Web.Optimization;
public static class CheckBoxHelper
{
public static MvcHtmlString ListCheckbox(this HtmlHelper helper, string actionName, int value,string jsPath)
{
var builder = new StringBuilder();
builder.Append(Scripts.Render(jsPath).ToHtmlString());
builder.AppendFormat("<input type='checkbox' value='{1}' onclick='Action_{0}()'></input>", actionName, value);
return new MvcHtmlString(builder.ToString());
}
}
使用System.Web.Optimization;
公共静态类CheckBoxHelper
{
公共静态MvcHtmlString ListCheckbox(此HtmlHelper帮助程序、字符串actionName、int值、字符串jsPath)
{
var builder=新的StringBuilder();
Append(Scripts.Render(jsPath.ToHtmlString());
builder.AppendFormat(“”,actionName,value);
返回新的MvcHtmlString(builder.ToString());
}
}
使用MvcHtmlString
作为返回类型很重要,否则输出将是html编码的
using System.Web.Optimization;
public static class CheckBoxHelper
{
public static MvcHtmlString ListCheckbox(this HtmlHelper helper, string actionName, int value,string jsPath)
{
var builder = new StringBuilder();
builder.Append(Scripts.Render(jsPath).ToHtmlString());
builder.AppendFormat("<input type='checkbox' value='{1}' onclick='Action_{0}()'></input>", actionName, value);
return new MvcHtmlString(builder.ToString());
}
}