首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Strolngly类型的ASP.NET检索元素Id?

如何为Strolngly类型的ASP.NET检索元素Id?
EN

Stack Overflow用户
提问于 2010-04-06 09:13:23
回答 2查看 836关注 0票数 1

可能重复:

Client Id for Property (ASP.Net MVC)

在我的视图中,我使用的是jquery数据采集器。所以我需要用这样的代码启动它

代码语言:javascript
复制
$(function() {
        $('#elementID').datepicker({
        });
});

在我看来

代码语言:javascript
复制
     <%= Html.TextBoxFor(m=>m.StartDate) %>

在旧的ASP.NET中,我可以使用

代码语言:javascript
复制
    tb_startDate.ClientID

如何检索强类型ASP.NET的元素Id?是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-06 09:18:15

一旦文本框被呈现,就无法接收它的id (因为它只是输出纯文本)。

但是,您可以使用另一种方法来设置类并使用标准的". class -jquery选择器“。

就像这样:

代码语言:javascript
复制
<%= Html.TextBoxFor(m=>m.StartDate, new { @class = "startDate" }) %>

以及:

代码语言:javascript
复制
$('input.startDate').datepicker();
票数 2
EN

Stack Overflow用户

发布于 2011-07-07 15:03:31

你可以创建

代码语言:javascript
复制
public static class HtmlExtensions 
{ 
    public static MvcHtmlString FieldIdFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression) 
    { 
        string htmlFieldName = ExpressionHelper.GetExpressionText(expression); 
        string inputFieldId = html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(htmlFieldName); 
        return MvcHtmlString.Create(inputFieldId); 
    } 
} 

并使用了它

代码语言:javascript
复制
$('@Html.FieldIdFor(m=>m.StartDate').datepicker();

有关更多详细信息:http://www.dominicpettifer.co.uk/Blog/37/strongly-typed--label--elements-in-asp-net-mvc-2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2583717

复制
相关文章

相似问题

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