Jquery Javascript块在mvc3模板中呈现为html实体字符串
我正在使用ASP.NET MVC 3(候选版本2)和razor模板 我正在尝试在razor模板中添加jquery日期选择器。从扩展生成的代码将作为html实体写入页面,因此它只是作为文本显示在页面上,而不是日期选择器 这是datepicker扩展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
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 + "\"/>");
}