***BiDaK***
شنبه 05 اسفند 1391, 23:49 عصر
سلام.من این کدهارو نوشتم برای ثبت حالا اینجا واسه نمره.ولی تکست باکسا مقادیره قبلی که توشون قرار گرفته و از دیتابیس قرار گرفتن اونارو میخونه و مقدار جدید داخل تکست باکسا نمیره.مشکل از کجاس؟
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
GridLines="None" ShowHeader="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="lblstName" Text='<%#Eval("stName") %>'></asp:Label>
<asp:TextBox runat="server" ID="txtstGrade" Width="20" Text='<%# Eval("stGrade") %>' ></asp:TextBox>
<asp:Label runat="server" Text='<%#Eval("stID") %>' ID="lblstid"></asp:Label>
<br/>
<hr/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button runat="server" ID="btnsubGrade" Text="Submit" onclick="btnsubGrade_Click"/>
protected void btnsubGrade_Click(object sender, EventArgs e)
{
foreach (GridViewRow gridRow in GridView1.Rows)
{
TextBox txt = gridRow.FindControl("txtstGrade") as TextBox;
Label lbl = gridRow.FindControl("lblstid") as Label;
try
{
using (var context = new ExampleEntities())
{
int valuenu = Convert.ToInt32(txt.Text);
int valueid = Int32.Parse(lbl.Text);
var tx = (from n in context.TBL_Student where n.stID == valueid select n).FirstOrDefault();
tx.stGrade = Convert.ToInt32(valuenu);
context.SaveChanges();
GridView1.DataBind();
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
بخاطر پست بک شدن نیست؟اگه هست راه حل چیه؟
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
GridLines="None" ShowHeader="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="lblstName" Text='<%#Eval("stName") %>'></asp:Label>
<asp:TextBox runat="server" ID="txtstGrade" Width="20" Text='<%# Eval("stGrade") %>' ></asp:TextBox>
<asp:Label runat="server" Text='<%#Eval("stID") %>' ID="lblstid"></asp:Label>
<br/>
<hr/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button runat="server" ID="btnsubGrade" Text="Submit" onclick="btnsubGrade_Click"/>
protected void btnsubGrade_Click(object sender, EventArgs e)
{
foreach (GridViewRow gridRow in GridView1.Rows)
{
TextBox txt = gridRow.FindControl("txtstGrade") as TextBox;
Label lbl = gridRow.FindControl("lblstid") as Label;
try
{
using (var context = new ExampleEntities())
{
int valuenu = Convert.ToInt32(txt.Text);
int valueid = Int32.Parse(lbl.Text);
var tx = (from n in context.TBL_Student where n.stID == valueid select n).FirstOrDefault();
tx.stGrade = Convert.ToInt32(valuenu);
context.SaveChanges();
GridView1.DataBind();
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
بخاطر پست بک شدن نیست؟اگه هست راه حل چیه؟