无法在面板内的转发器中的链接按钮中执行Click事件 [英] unable to do the Click event in the linkbutton in the repeater inside the panel
本文介绍了无法在面板内的转发器中的链接按钮中执行Click事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法在面板中的转发器的链接按钮中执行Click事件,所以请提供解决方案。
.aspx页面
< asp:ScriptManager ID = sss runat = server > < / asp:ScriptManager >
< asp:Timer ID = Timer1 runat = server 间隔时间 = 5000 < span class =code-attribute> ontick = Timer1_Tick >
< / asp:Timer >
< asp:Panel ID = Panel3 runat = server BackColor = white style = display:none BorderWidth = < span class =code-keyword> 1 宽度 = 500px 高度 = 200px BorderColor = #108EBF >
< center >
< div class = col-sm-5 >
< asp:Repeater ID = rptnewmsg runat = server >
< ItemTemplate >
< < span class =code-leadattribute> div style = width:300px;高度:150像素; border:solid 0px red; >
< a style = 颜色:黑色; > 从< / a > < asp:标签 ID = lblclientnamessTF runat = server 文字 =' <% #Eval( 客户名称)%>' > < / asp:标签 > < a style = 颜色:黑色; > for < / a > < asp:标签 < span class =code-attribute> ID = Label2 runat = 服务器 文本 =' <% #Eval( Boardtype)%>' > < / asp:标签 > < br / >
< asp:LinkButton ID = lnkbtnmsg runat = server CausesValidation = true < span class =code-attribute> CommandArgument =' <% Eval( Id)%>' < span class =code-attribute> ValidationGroup = hoo OnClick = lnkbtnmsg_Click 文字 = 未读 < span class =code-attribute> > < / asp:LinkButton > < br / > ; < br / >
< / div >
< / ItemTemplate >
< / asp:Repeater >
< 按钮 id = btncancelss 类型 = 按钮 class = btn btn-default data-dismiss = modal > 关闭< / button >
< div class = modal-body style = margin -removed50px; >
< / div >
< / div >
< / center >
< / asp:Panel >
< asp:ModalPopupExtender ID = ModalPopupExtender3 BehaviorID = ModalPopupExtender3 runat = server 已启用 = true PopupControlID = Panel3 TargetControlID = Panel3 CancelControlID = btncancelss OnCancelScript = hidepopupss() BackgroundCssClass = modalback >
< / asp:ModalPopupExtender >
< / asp:ModalPopupExtender >
.cs页面
受保护 void Timer1_Tick( object sender,EventArgs e)
{
Newmsgbind();
ModalPopupExtender3.Show();
}
public void Newmsgbind()
{
SqlDataAdapter da_newmsg = new SqlDataAdapter( 从Newmessage中选择Id,Clientname,Boardtype,Date,其中Readstatus =' + 0 + ',con);
DataSet ds_newmsg = new DataSet();
da_newmsg.Fill(ds_newmsg);
rptnewmsg.DataSource = ds_newmsg;
rptnewmsg.DataBind();
}
protected void lnkbtnmsg_Click( object sender,EventArgs e)
{
string lnkbtnmsg =(sender as LinkButton).CommandArgument;
con.Open();
SqlCommand cmdupdatemsg = new SqlCommand( 更新Newmessage set Readstatus =' + 1 + '其中Id =' + lnkbtnmsg + ' ,con);
cmdupdatemsg.ExecuteNonQuery();
con.Close();
}
解决方案
更改
< asp:repeater id = rptnewmsg runat = server xmlns:asp = #unknown >
到
< asp:repeater id = rptnewmsg跨度> <温泉n class =code-attribute> onitemcommand = rptNewMsg_ItemCommand runat = 服务器 >
和
< asp:linkbutton id = lnkbtnmsg runat = server causevalidation = true commandargument = <% Eval( Id )%> validationgroup = hoo onclick < span class =code-keyword> = lnkbtnmsg_Click text = 未读 > < / asp:linkbutton >
to
< asp:linkbutton id = lnkbtnmsg runat = server causevalidation = true commandargument = <% Eval( Id)%> validationgroup < span class =code-keyword> = hoo commandname = 点击 text = 未读 > < < span class =code-leadattribute> / asp:linkbutton >
protected void rptNewMsg_ItemCommand( object source,System.Web.UI.WebControls.RepeaterCommandEventArgs e)
{
if (e.CommandName == 点击)
{
string lnkbtnmsg = e.CommandArgument;
con.Open();
SqlCommand cmdupdatemsg = new SqlCommand( 更新Newmessage set Readstatus =' + 1 + '其中Id =' + lnkbtnmsg + ' ,con);
cmdupdatemsg.ExecuteNonQuery();
con.Close();
}
}
更改代码如下
< pre lang =HTML> < asp:linkbutton id = lnkbtnmsg runat = server causevalidation = true commandargument = <% Eval( Id)%> validationgroup = hoo < span class =code-attribute> onclick = lnkbtnmsg_Click text = 未读 xmlns:asp = #unknown > < / asp:linkbutton >
TO
< < span class =code-leadattribute> asp:linkbutton id= lnkbtnmsg runat = server causevalidation = true commandargument =' <% #Eval( Id)%>' validationgroup = hoo onclick = lnkbtnmsg_Cli ck text = 未读 xmlns:asp = #unknown > < / asp:linkbutton >
希望上述变更有效。
Hi,
I am unable to do the Click event in the linkbutton in the repeater inside the panel, so please provide me the solution.
.aspx page
<asp:ScriptManager ID="sss" runat="server"></asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="5000" ontick="Timer1_Tick">
</asp:Timer>
<asp:Panel ID="Panel3" runat="server" BackColor="white" style="display:none" BorderWidth="1" Width="500px" Height="200px" BorderColor="#108EBF">
<center>
<div class=" col-sm-5 ">
<asp:Repeater ID="rptnewmsg" runat="server" >
<ItemTemplate>
<div style=" width:300px; height:150px; border:solid 0px red;">
<a style=" color:Black;"> File received from </a> <asp:Label ID="lblclientnamessTF" runat="server" Text='<%#Eval("Clientname") %>'></asp:Label> <a style=" color:Black;"> for </a> <asp:Label ID="Label2" runat="server" Text='<%#Eval("Boardtype") %>'></asp:Label> <br />
<asp:LinkButton ID="lnkbtnmsg" runat="server" CausesValidation="true" CommandArgument='<%Eval("Id") %>' ValidationGroup="hoo" OnClick="lnkbtnmsg_Click" Text="unread" ></asp:LinkButton><br /><br />
</div>
</ItemTemplate>
</asp:Repeater>
<button id="btncancelss" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<div class="modal-body" style=" margin-removed50px;">
</div>
</div>
</center>
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupExtender3" BehaviorID="ModalPopupExtender3" runat="server" Enabled="true" PopupControlID="Panel3" TargetControlID="Panel3" CancelControlID="btncancelss" OnCancelScript="hidepopupss()" BackgroundCssClass="modalback">
</asp:ModalPopupExtender>
</asp:ModalPopupExtender>
.cs page
protected void Timer1_Tick(object sender, EventArgs e)
{
Newmsgbind();
ModalPopupExtender3.Show();
}
public void Newmsgbind()
{
SqlDataAdapter da_newmsg = new SqlDataAdapter("select Id,Clientname,Boardtype ,Date from Newmessage where Readstatus ='" + 0 + "'", con);
DataSet ds_newmsg = new DataSet();
da_newmsg.Fill(ds_newmsg);
rptnewmsg.DataSource = ds_newmsg;
rptnewmsg.DataBind();
}
protected void lnkbtnmsg_Click(object sender, EventArgs e)
{
string lnkbtnmsg = (sender as LinkButton).CommandArgument;
con.Open();
SqlCommand cmdupdatemsg = new SqlCommand("update Newmessage set Readstatus ='" + 1 + "' where Id = '" + lnkbtnmsg + "'", con);
cmdupdatemsg.ExecuteNonQuery();
con.Close();
}
解决方案
change
<asp:repeater id="rptnewmsg" runat="server" xmlns:asp="#unknown">
to
<asp:repeater id="rptnewmsg" onitemcommand="rptNewMsg_ItemCommand" runat="server">
and
<asp:linkbutton id="lnkbtnmsg" runat="server" causesvalidation="true" commandargument="<%Eval("Id") %>" validationgroup="hoo" onclick="lnkbtnmsg_Click" text="unread"></asp:linkbutton>
to
<asp:linkbutton id="lnkbtnmsg" runat="server" causesvalidation="true" commandargument="<%Eval("Id") %>" validationgroup="hoo" commandname="Click" text="unread"></asp:linkbutton>
protected void rptNewMsg_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e) { if(e.CommandName == "Click") { string lnkbtnmsg = e.CommandArgument; con.Open(); SqlCommand cmdupdatemsg = new SqlCommand("update Newmessage set Readstatus ='" + 1 + "' where Id = '" + lnkbtnmsg + "'", con); cmdupdatemsg.ExecuteNonQuery(); con.Close(); } }
Change the code as follow
<asp:linkbutton id="lnkbtnmsg" runat="server" causesvalidation="true" commandargument="<%Eval("Id") %>" validationgroup="hoo" onclick="lnkbtnmsg_Click" text="unread" xmlns:asp="#unknown"></asp:linkbutton>
TO
<asp:linkbutton id="lnkbtnmsg" runat="server" causesvalidation="true" commandargument='<%#Eval("Id")%>' validationgroup="hoo" onclick="lnkbtnmsg_Click" text="unread" xmlns:asp="#unknown"></asp:linkbutton>
Hope the above change works.
这篇关于无法在面板内的转发器中的链接按钮中执行Click事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文