[英]ASCX result to call javascript found in ASPX
我有一個用戶控件(MyListSelect.ascx),它只有一個單選按鈕列表...
<%@ Control Language="C#" %>
<select>
<option disabled selected>Select Options</option>
<option>
option 1
</option>
<option>
option 2
</option>
</select>
我的ASPX頁面具有:
<%@Register Src="~/MylistSelect.ascx"
TagName="listSelect"
TagPrefix="ListControl" %>
<ListControl:listSelect runat="server" />
這會在我的ASPX中顯示一個下拉菜單(woo hoo);
我希望能夠(形成ASPX)基於所選下拉菜單的索引更改事件調用javascript函數,因為所選菜單項在不同頁面中具有不同的功能。 我不想在ASCX中定義所有可能的功能。
有什么建議么? lso,為什么<ListControl:listSelect runat="server" />
必須要運行服務器? 有沒有辦法解決這個問題?
它必須是runat=server
因為用戶控件是服務器端.net引擎處理的特殊控件。 ASP.NET用戶控件在客戶端沒有任何意義,在發送給客戶端之前需要進行“翻譯”。
為了選定的指數變化響應事件首先你需要一個id或CSS類分配給select
這樣你就可以識別它更准確地槽jQuery選擇(假設你想使用jQuery因為你添加它來質疑標簽)。
這樣的事情應該可以解決問題
HTML
<select id="mySelect">
<option disabled selected>Select Options</option>
<option>
option 1
</option>
<option>
option 2
</option>
</select>
JAVASCRIPT
// Shorthand for $( document ).ready()
$(function() {
$('#mySelect').change(function(){
// your logic when index changed here
});
});
首先,將您的選擇更改為此:
<select onchange="yourJSFunction();">
當您在頁面內使用控件時,還將提供yourJSFunction
:
<script type="text/javascript">
function yourJSFunction() {
alert("yourJSFunction 1");
}
</script>
<ListControl:listSelect runat="server" />
在另一頁中:
<script type="text/javascript">
function yourJSFunction() {
alert("yourJSFunction 2");
}
</script>
<ListControl:listSelect runat="server" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.