C#类中的Scripts.Render(创建html帮助器)。在C#文件中使用HtmlHelper中的函数 - javascript

我正在尝试创建自己的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>", actionName, value);
}

假设我想将此代码保存在单独的* .js文件中,如何添加此javascript?

在* .cshtml文件中,我可以这样做:

@Scripts.Render("~/Scripts/App/markSearched.js")

但这在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());
    }
  }

使用MvcHtmlString作为返回类型很重要,否则输出将被html编码

从控制器以视图(javascript)访问会话 - javascript

这是我的控制器代码。我想获取视图中存储在会话中的值(JavaScript代码) decimal.TryParse(permotion.PROMOTION_AMOUNT.ToString(), out promotionAmount); int.TryParse(permotion.PROMOTION_TYPE_ID.ToString(CultureInfo.…

javascript popupwindow之后的行如何工作? - javascript

好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…

Javascript-Urls的奇怪字符串比较行为 - javascript

最近,在编写我无法理解的javascript时遇到了字符串比较的问题。我从完全相同的网址创建了两个字符串,当我比较它们时返回false,但是在重新分配相同的字符串后,比较返回true。这是我的示例:var str1 = "http://google.com/"; var str2 = "http://google.com‏/&#…

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…