2012-02-06 70 views
0

我有一个用户控制:如何从JavaScript上的属性用户控件获取数据?

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Autocomplite.ascx.cs" Inherits="Application.Controls.Autocomplite" %> 

<script type="text/javascript" src="../Scripts/Autocomplite.js"></script> 
<img alt="" src="Images/Common/transfer1.png" style="cursor:pointer;" onclick='SelectInfo(this); return false;' /> 

与性能:

public partial class Autocomplite : System.Web.UI.UserControl 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     {    

     } 

     private string tableDataSourse; 
     public string TableDataSourse 
     { 
      get { return tableDataSourse; } 
      set { tableDataSourse = value; } 
     } 

     private string positionId; 
     public string PositionId 
     { 
      get { return positionId; } 
      set { positionId = value; } 
     } 
    } 

我注册页面上,该控制像这样运行:

<%@ Register TagPrefix="apress" TagName="Autocomplite" Src="~/Controls/Autocomplite.ascx" %> 
... 
<apress:Autocomplite ID="AutoTextBox1" runat="server" TableDataSourse="DataSet" PositionId="NewOrderArticleCode" /> 

在Autocomplite.js(JavaScript的客户端)在SelectInfo函数中,我尝试获取此属性:

function SelectInfo(obj) { 
    if (obj != null) { 
    // expected that obj have this properties 
    } 
} 

回答

0

您应该将这些属性的值呈现为html元素或属性(例如输入元素或图像元素的自定义属性)。那么你可以通过客户端代码获取这些值。

再现控制级属性成HTML代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Autocomplite.ascx.cs" Inherits="Application.Controls.Autocomplite" %> 
<script type="text/javascript" src="../Scripts/Autocomplite.js"></script> 

<img alt="" src="Images/Common/transfer1.png" 
style="cursor:pointer;" onclick='SelectInfo(this); return false;' 
data-property1='<%= TableDataSourse %>' data-property2='<%= PositionId %>' /> 

访问呈现属性:

function SelectInfo(obj) { 
    return $(obj).attr('data-property1') ; 
    } 
} 
相关问题