无法在面板内的转发器中的链接按钮中执行Click事件 [英] unable to do the Click event in the linkbutton in the repeater inside the panel

查看:71
本文介绍了无法在面板内的转发器中的链接按钮中执行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:LinkBut​​ton 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:LinkBut​​ton > < 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 LinkBut​​ton).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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆