如何在asp.net c中使用异步方法在gridview中进行多次更新#
问题描述:
我有一个gridview,我想在按钮点击事件上向用户发送短信并将一些数据保存到数据库中(我使用的是sql server)。但我的问题是,当第一行完成更新gridviw显示状态发送(在UI中),而进程将继续
我的gridView
I have a gridview and i want to send sms to user on button click event and save some data into database (i am using sql server) . But my problem is that when first row complete update in gridviw show status sent(in UI) while process will be continue
my gridView
<asp:GridView ID="grdvdiffrentMsg" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Mobile No">
<ItemTemplate>
<asp:Label ID="lblMobileNo" runat="server" Text='<%# Eval("mobileNo") %>' />
<asp:HiddenField ID="hfStudId" runat="server" Value='<%# Eval("StudId") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Meassage">
<ItemTemplate>
<asp:Label ID="lblMessage" runat="server" Text='<%# Eval("Message") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<p>
<asp:Button ID="btnSendMsg" runat="server" Text="Send"
onclick="btnSendMsg_Click" />
</p>
我的按钮点击事件
sendSMS
my button click event
sendSMS
protected void btnSendMsg_Click(object sender, EventArgs e)
{
int sms=0;
if (Session["SMS"] != null)
{
sms = Convert.ToInt32(Session["SMS"].ToString());
}
if (sms > 0)
{
//foreach (GridViewRow gvr in grdvdiffrentMsg.Rows)
// {
// HiddenField stuId = (HiddenField)gvr.FindControl("hfStudId");
// Label lblMobileNo = (Label)gvr.FindControl("lblMobileNo");
// Label lblMsg = (Label)gvr.FindControl("lblMessage");
//if (lblMobileNo.Text != string.Empty && lblMsg.Text != string.Empty)
//{
dt=(DataTable)ViewState["MultiSMS"];
objcommonsms.sendSMS(ddlMsgType.SelectedItem.Text, Session["SenderId"].ToString(),Session["UserId"].ToString(),sms,dt);
//}
//}
}
}
sendSMS函数用于保存数据库中的数据
请用例子给我看代码
提前谢谢
sendSMS function is used for save data in database
please show me code with example
thanks in advance
答
我用过它这里是根据您的要求使用它的代码
i''ve used it here is the code use it as per your requirement
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
TextBox tb1 = GridView1.Rows["row index"].FindControl("Textbox1") as TextBox;
UpdateFunction(tb1.Text);
}
}