Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Javascript块在mvc3模板中呈现为html实体字符串_Jquery_Asp.net Mvc 3_Razor - Fatal编程技术网

Jquery Javascript块在mvc3模板中呈现为html实体字符串

Jquery Javascript块在mvc3模板中呈现为html实体字符串,jquery,asp.net-mvc-3,razor,Jquery,Asp.net Mvc 3,Razor,我正在使用ASP.NET MVC 3(候选版本2)和razor模板 我正在尝试在razor模板中添加jquery日期选择器。从扩展生成的代码将作为html实体写入页面,因此它只是作为文本显示在页面上,而不是日期选择器 这是datepicker扩展 namespace System.Web.Mvc.Html { public static class DatePickerExtension { public static string DatePicker(this

我正在使用ASP.NET MVC 3(候选版本2)和razor模板

我正在尝试在razor模板中添加jquery日期选择器。从扩展生成的代码将作为html实体写入页面,因此它只是作为文本显示在页面上,而不是日期选择器

这是datepicker扩展

namespace System.Web.Mvc.Html
{
    public static class DatePickerExtension
    {
        public static string DatePicker(this HtmlHelper htmlHelper, string name, string value)
        {

            return "<script type=\"text/javascript\">" +
                 "$(function() {" +
                 "$(\"#" + name + "\").datepicker();" +
                 "});" +
                 "</script>" +
                 "<input type=\"text\" size=\"10\" value=\"" + value + "\" id=\"" + name + "\" name=\"" + name + "\"/>";
        }
    }
}

如果不希望自动编码,请使用HtmlString@blabla自动编码字符串值

您可以使用:

@(new HtmlString(Html.DatePicker("Date", Model.InterviewDate))

//or
@Html.Raw(Html.DatePicker("Date", Model.InterviewDate))

或者将方法的返回类型更改为HtmlString并返回HtmlString

我建议返回
IHtmlString
,否则您必须始终记住在视图中使用
Html.Raw
HtmlString
,如果可以从视图返回原始Html,则不必这样做方法

public static IHtmlString DatePicker(this HtmlHelper htmlHelper, string name, string value) {

    return new HtmlString("<script type=\"text/javascript\">" +
         "$(function() {" +
         "$(\"#" + name + "\").datepicker();" +
         "});" +
         "</script>" +
         "<input type=\"text\" size=\"10\" value=\"" + value + "\" id=\"" + name + "\" name=\"" + name + "\"/>");
} 
公共静态IHtmlString日期选择器(此HtmlHelper HtmlHelper,字符串名称,字符串值){
返回新的HtmlString(“”)+
“$(函数(){”+
“$(\”\“\”+name+“\”).datepicker();”+
"});" +
"" +
"");
} 

谢谢,还应该注意jquery-ui-1.8.7.custom.css似乎有问题,必须注释掉“ui-helper hidden-accessible”,以便显示日期选择器。这里也提到:
@(new HtmlString(Html.DatePicker("Date", Model.InterviewDate))

//or
@Html.Raw(Html.DatePicker("Date", Model.InterviewDate))
public static IHtmlString DatePicker(this HtmlHelper htmlHelper, string name, string value) {

    return new HtmlString("<script type=\"text/javascript\">" +
         "$(function() {" +
         "$(\"#" + name + "\").datepicker();" +
         "});" +
         "</script>" +
         "<input type=\"text\" size=\"10\" value=\"" + value + "\" id=\"" + name + "\" name=\"" + name + "\"/>");
}