【问题标题】:Getting Info out of a custom control with jQuery. Visual Studio 2010使用 jQuery 从自定义控件中获取信息。视觉工作室 2010
【发布时间】:2012-05-08 15:27:00
【问题描述】:

我正在学习使用 Microsoft .NET Framework 4 进行 Web 应用程序开发。在阅读本书时,我有一个业余项目正在工作,我在学习这些内容时正在编写代码。

这是一个真正简单的应用程序,它会根据用户名查询数据库,根据数据库的行数动态创建自定义控件。

自定义控件只不过是一个图像和一个标签。然而,它确实有一些成员变量:reportName 和 filePath。

public partial class ReportIcon : System.Web.UI.UserControl
{
    public string reportName { get; set; }
    public string filePath { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {
        ReportNameLabel.Text = this.reportName;
    }
}

这些动态创建的图标创建得很好,成员变量是根据数据库值设置的。

我正在尝试使用 jQuery 的 onClick 事件检索 filePath 值。我似乎无法获得该信息。现在我只是提醒它确实点击了该图标。

$('.report-icons').click(
    function () {
        $(this).siblings().removeClass("selected");
        $(this).addClass("selected");
        alert("Get PDF File");
    }

);

有人可以为我指出正确的方向,以便使用 jQuery 在自定义控件中获取这些信息吗?

谢谢

【问题讨论】:

    标签: jquery asp.net .net visual-studio-2010


    【解决方案1】:

    您需要将文件路径写入 UI 控件,然后 JQuery 可以访问该控件,即

    标记

    <asp:Label runat=server ID="lblFilePath" />
    

    背后的代码

    lblFilePath.Text = filePath
    

    JQuery

    alert($(#<%=lblFilePath.ClientID%>).text());
    

    或使用隐藏字段或利用控件的数据属性。原理会类似

    【讨论】:

      【解决方案2】:

      我假设您不希望您的用户看到文件路径。 Crab Bucket 的方法肯定行得通,但我建议使用隐藏控件而不是标签控件。

      HTML

      代码隐藏

      filePath.value = myReportPath

      JQuery

      alert($("#").val());

      【讨论】:

      • 我做错了什么? HTML FilePathHiddenField.Value = this.filePath; JQuery alert($("#").val());小巷是空的。如果我使用标签,则警报框会显示 #
      • ID 即 FilePathHiddenField 区分大小写 - 可能是这样
      • 直接从源复制到 JQuery。
      • 查看源码时,动态创建的隐藏字段的id为“ContentPlaceHolder1_ReportListView_ctl00_FilePathHiddenField”、ContentPlaceHolder1_ReportListView_ctl01_FilePathHiddenField、ContentPlaceHolder1_ReportListView_ctl02_FilePathHiddenField等。
      • 尝试在警报中将 .val() 更改为长度,以确保您成功选择了某些内容。
      【解决方案3】:

      您可以将 data-filepath 属性添加到生成的 HTML 元素,然后您可以使用 jquery 读取。

      【讨论】:

      • 我该怎么做呢?我在这方面真的很新:)
      猜你喜欢
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多