0
我有一個創建爲低於用戶控制:如何使用訪問控制在用戶控制以JavaScript <%= Control.ClientId%>
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="Add.ascx.vb" Inherits="Add" %>
<asp:Label ID="Label1" runat="server" Text="Num1"></asp:Label>
<asp:TextBox ID="tbNum1" runat="server" onblur="sum(document.getElementById('<%=tbNum1.ClientId %>').value,document.getElementById('<%=tbNum2.ClientId %>').value,'<%=tbSum.ClientId %>');"></asp:TextBox>
<br />
<asp:Label ID="Label2" runat="server" Text="Num2"></asp:Label>
<asp:TextBox ID="tbNum2" runat="server"></asp:TextBox>
<br />
<asp:Label ID="Label3" runat="server" Text="Sum:"></asp:Label>
<asp:TextBox ID="tbSum" runat="server"></asp:TextBox>
<script type="text/javascript">
function sum(a, b, controlId) {
if (a != '' && b != '') {
document.getElementById(controlId).value = parseInt(a) + parseInt(b);
}
}
</script>
我有上述的用戶控制的多個實例在網絡頁。下面是代碼:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
<%@ Register Src="~/Add.ascx" TagPrefix="uc" TagName="Add" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc:Add runat="server" ID="ucAdd1" />
<uc:Add runat="server" ID="ucAdd2" />
</div>
</form>
</body>
</html>
當我看到的視圖源,< = control.ClientId%>不呈現控制的客戶端ID。 我的問題在這裏是爲什麼< = control.ClientId%>不工作在內嵌JavaScript是否有任何語法錯誤?還有什麼方法可以分別訪問每個用戶控件中的文本框?
請指教。
'ClientID',而不是'ClientId' – Grundy
將有文本框沒有客戶端Id ..在你的情況下,只需通過連接正在使用的用戶控件的ID使用文本框的ID ..如果您usercontrol的標籤前綴是uc,那麼uc_textboxid –
如果頁面中有多個用戶控件實例,是不是可以在用戶控件標記中編寫一個通用的javascript函數來訪問它中的控件? – Dinu