台灣最大程式設計社群網站
線上人數
1219
 
會員總數:246141
討論主題:189724
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 在同一個WebForm 加入多個相同的自訂UserControl
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
在同一個WebForm 加入多個相同的自訂UserControl
價值 : 10 QP  點閱數:733 回應數:0
樓主

php新手
門外漢
0 5
264 2
發送站內信

問題:
在同一個webform加入多個相同的自訂userctronl時,我在webform page init事件將userctronl裡的valueChanged都註冊後
,在頁面上點擊ucOK 這個usertcontrol裡面的button後都會去執行頁面上最後一個ucNotOk2裡的cNotOk2_valueChanged這個事件。
我以為應該是
點擊ucOK 會去執行ucOK_valueChanged,
點擊ucNotOk會去執行ucNotOK_valueChanged,
但實際點擊後都是去跑webform.aspx頁面上最後一個事件ucNotOk2_valueChanged ,
下面是我的程式碼,不知道是哪邊觀念出錯,請各位幫忙,謝謝。


userctronl.ascx---------------------------------
<script>
function confirdialog(param1, param2, title, content) {
$("#dialog").dialog({
model: true,
draggable: false,
title: title,
open: function () {
var markup = content;
$(this).html(markup);
},
buttons: [
{
text: param1,
click: function () {
$("[id*=Button1]").click();
}
},
{
text: param2,
click: function () {
$.unblockUI();
$(this).dialog('close');
}
}
],
zIndex: 999

});
}
</script>
<div id="dialog" style="display:none" ></div>
<asp:Button runat="server" ID="btnSubmitxt" OnClick="btnSubmitxt_Click" Text="自訂名稱" CausesValidation="false" />
<asp:Button ID="Button1" runat="server" Text="Button" style = "display:none" OnClick="ConfirmAlert_Click" CausesValidation="false" />

userctronl.ascx.cs---------------------------------

protected void Page_Load(object sender, EventArgs e)
{
btnSubmitxt.Text = btnText;
btnSubmitxt.CssClass = btnCss;
}

public void btnSubmitxt_Click(object sender, EventArgs e)
{
RegisterJquery();
}

public void ConfirmAlert_Click(object sender, EventArgs e)
{
if(this.valueChanged1 != null) valueChanged1(sender, "", "");
}

public void RegisterJquery()
{

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "userControlCallClick", "confirdialog('" + actionText + "','" + closeText + "','" + title + "','" + content + "')", true);
}


webform.aspx---------------------------------

<uc1:userctronl runat="server" ID="ucOK" title="標題1" content="內容1" actionText="完成" btnText="確認" closeText="取消" />
<uc1:userctronl runat="server" ID="ucNotOk" title="標題2" content="內容1" actionText="完成" btnText="確認" closeText="取消"
<uc1:userctronl runat="server" ID="ucNotOk2" title="標題3" content="內容1" actionText="完成" btnText="確認" closeText="取消"

webform.aspx.cs---------------------------------

protected override void OnInit(EventArgs e)
{
ucOK.valueChanged1 += ucOK_valueChanged;
ucNotOk.valueChanged1 += ucNotOk_valueChanged;
ucNotOk2.valueChanged1 += (ucNotOk2_valueChanged);

}
void ucOK_valueChanged(object sender, string value, string value2)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "JavaScript", "alert('1')", true);
}
void ucNotOk_valueChanged(object sender, string value, string value2)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "JavaScript", "alert('2');", true);
}
void ucNotOk2_valueChanged(object sender, string value, string value2)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "JavaScript", "alert('3')", true);
}

搜尋相關Tags的文章: [ asp.net ] , [ userctronl ] , [ webform ] ,
本篇文章發表於2015-10-16 13:40
目前尚無任何回覆
   

回覆
如要回應,請先登入.