首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.Net @Html.TextBox数据选择器

ASP.Net @Html.TextBox数据选择器
EN

Stack Overflow用户
提问于 2016-06-30 03:21:37
回答 5查看 784关注 0票数 0

我正在尝试在@Html.TextBox上插入一个日期选择器。日期字段将用作搜索条件字段,以便我可以将日期条目与表中的日期进行比较。这是我为我的脚本准备的:

代码语言:javascript
复制
<link href="~/Content/ui_1.10.4_themes_smoothness_jquery-ui.css" rel="stylesheet" />
<script src=" ~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>

<script>
$(document).ready(function () {
    $("#getdate").each(function () {
        $(this).datepicker();
    });
});

这是我为我的TextBox准备的:

代码语言:javascript
复制
Date Received: @Html.TextBox("SearchString5",  new {@class="getdate"}, ViewBag.CurrentFilter as string)

它的结果是单词new {@class="getdate"}出现在TextBox中。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-06-30 03:28:59

整个代码看起来有buggy,首先您添加了一个getdate类,并且在jquery中使用了id选择器。

代码语言:javascript
复制
$(document).ready(function () {
$("#getdate").each(function () {
    $(this).datepicker();
});
});

这应该是

代码语言:javascript
复制
$(document).ready(function () {
    $(".getdate").each(function () {
        $(this).datepicker();
    });
});

第二件事是在helper中缺少值参数,应该是这样的

代码语言:javascript
复制
Date Received: @Html.TextBox("SearchString5",ViewBag.CurrentFilter as string,  new {@class="getdate"})
票数 0
EN

Stack Overflow用户

发布于 2016-06-30 03:29:05

这是因为您的参数对于Html.TextBox的重载方法来说是混乱的。

它们应该是这样的:

代码语言:javascript
复制
public static MvcHtmlString TextBox(
    this HtmlHelper htmlHelper,
    string name,
    object value,
    string format,
    object htmlAttributes
)

因此,对于您的特定案例:

代码语言:javascript
复制
@Html.TextBox("SearchString5",ViewBag.CurrentFilter as string, new {@class="getdate"})

此外,在您的JS中,您将使用#引用ID。相反,您需要引用具有.class

代码语言:javascript
复制
$(document).ready(function () {
    $(".getdate").each(function () {
        $(this).datepicker();
    });
});
票数 1
EN

Stack Overflow用户

发布于 2016-06-30 03:27:48

您的参数顺序不正确。它应该是这样的,首先是元素名称,然后是值,然后是html属性。这样写吧:

代码语言:javascript
复制
@Html.TextBox("SearchString5",ViewBag.CurrentFilter as string, new {@class="getdate"})

请参阅MSDN(https://msdn.microsoft.com/en-us/library/system.web.mvc.html.inputextensions.textbox(v=vs.118%29.aspx#M:System.Web.Mvc.Html.InputExtensions.TextBox%28System.Web.Mvc.HtmlHelper,System.String,System.Object,System.Collections.Generic.IDictionary%7BSystem.String,System.Object%7D%29)上的文档中的此重载

现在在jquery中使用类选择器,因为id对于html的每个元素都应该是唯一的:

代码语言:javascript
复制
$(document).ready(function () {
$(".getdate").each(function () {
    $(this).datepicker();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38108369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档