3

我正在学习使用 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 在自定义控件中获取此信息的正确方向吗?

谢谢

4

3 回答 3

1

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

标记

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

背后的代码

lblFilePath.Text = filePath

jQuery

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

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

于 2012-05-08T15:32:48.960 回答
1

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

HTML

<asp:Hidden runat="server" id="filePath"/>

代码隐藏

filePath.value = myReportPath

jQuery

alert($("#<%=filePath.ClientID %>").val());

于 2012-05-08T15:42:48.090 回答
0

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

于 2012-05-08T15:32:05.990 回答