سلام دوستان من با این کد
if (e.CommandName == "ad") { string onvan = ((Label)DataList1.Items[e.Item.ItemIndex].FindControl("Label8")).Text; string email = ((TextBox)DataList1.Items[e.Item.ItemIndex].FindControl("TextBox5")).Text.ToString(); string link = ((Label)DataList1.Items[e.Item.ItemIndex].FindControl("Label9")).Text; //string ovan= string cnfz = System.Configuration.ConfigurationManager.ConnectionStrings["god"].ToString(); SqlConnection conz = new SqlConnection(cnfz); string str = "insert into emailfree (onvan,email) values (@onvan,@email)"; SqlCommand cmd = new SqlCommand(str, conz); cmd.Parameters.AddWithValue("@onvan", onvan); cmd.Parameters.AddWithValue("@email", email); conz.Open(); cmd.ExecuteNonQuery(); conz.Close(); }
کار میکنم مشکلی نداره فقط همه قسمت ها ادد میشن به دیتا بیس ولی تکست باکس 5 ادد نمیشه یعنی خالی در دیتا بیس ذخیره میشه؟ چیکار کنم اینو؟
ممنون میشم یه راهنمایی بفرمایید
مطمئن اید که ID به همین شکل نوشته شده "TextBox5
" یعنی حروفش بزرگ یا کوچیک نیست مثلا باشه "Textbox5" ؟
بله دقیقا همینه ...چک کردم
لطفا کد Aspx صفحه مورد نظر رو اینجا قرار دهید .
این هم کد دیتا لیستم
<asp:DataList ID="DataList1" runat="server" RepeatColumns="1" OnItemCommand="DataList1_ItemCommand"> <ItemTemplate> <table style="width: 202px;"> <tr> <td> <asp:Image ID="Image1" runat="server" Width="200px" Height="190px" ImageUrl='<%# Eval("ax","up/{0}") %>' /> </td> </tr> <tr> <td style="font-family: tahoma; font-size: 12px; line-height: 28px;">برای دانلود ابتدا ایمیل خود را وارد نمایید سپس روی دگمه دانلود کلیک نمایید <asp:TextBox ID="TextBox5" runat="server" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" Height="20px" Width="200px"></asp:TextBox> <br /> <asp:LinkButton ID="LinkButton2" runat="server" CommandArgument='<%# Eval("id") %>' CommandName="ad" Font-Underline="False" ForeColor="#FF9933" Font-Bold="True">برای شروع دانلود کلیک کنید</asp:LinkButton> <br /> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox5" ErrorMessage="لطفا شکل صحیح ایمیل را وارد نمایید" ForeColor="#CC0000" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> <br /> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox5" ErrorMessage="لطفا ایمیل خود را وارد کنید" ForeColor="#CC0000"></asp:RequiredFieldValidator> <br /> <asp:Label ID="Label8" runat="server" Text='<%# Eval("onvan") %>' Visible="False"></asp:Label> <asp:Label ID="Label9" runat="server" Text='<%# Eval("dl") %>' Visible="False"></asp:Label> </td> </tr> <tr> <td style="vertical-align: middle; text-align: center"></td> </tr> </table> </ItemTemplate> </asp:DataList>
مشکل از PostBack شدن صفحه است، شما باید کد PageLoad صفحه را داخل کد زیر قرار دهید :
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { // محل قرار گرفتن کد شما } }
کد شما یک مشکل دیگر هم دارد، اینکه اعتبار سنجی که صورت می گیرد بازدن دکمه دانلود تمام Validator ها فعال می شوند زیرا دسته بندی نشده اند شما باید برای دکمه و تکست باکس ValidationGroup با نامی غیر تکراری قرار دهید به کد زیر که نمونه کد شما استفاده شده است توجه کنید :
<asp:DataList ID="DataList1" runat="server" RepeatColumns="1" OnItemCommand="DataList1_ItemCommand"> <ItemTemplate> <table style="width: 202px;"> <tr> <td> <asp:Image ID="Image1" runat="server" Width="200px" Height="190px" ImageUrl='<%# Eval("ax","up/{0}") %>' /> </td> </tr> <tr> <td style="font-family: tahoma; font-size: 12px; line-height: 28px;">برای دانلود ابتدا ایمیل خود را وارد نمایید سپس روی دگمه دانلود کلیک نمایید <asp:TextBox ID="TextBox5" runat="server" BorderColor="#999999" BorderStyle="Solid" ValidationGroup='<%# Eval("id","g{0}") %>' BorderWidth="1px" Height="20px" Width="200px"></asp:TextBox> <br /> <asp:LinkButton ID="LinkButton2" runat="server" CommandArgument='<%# Eval("id") %>' ValidationGroup='<%# Eval("id","g{0}") %>' CommandName="ad" Font-Underline="False" ForeColor="#FF9933" Font-Bold="True">برای شروع دانلود کلیک کنید</asp:LinkButton> <br /> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationGroup='<%# Eval("id","g{0}") %>' ControlToValidate="TextBox5" ErrorMessage="لطفا شکل صحیح ایمیل را وارد نمایید" ForeColor="#CC0000" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> <br /> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ValidationGroup='<%# Eval("id","g{0}") %>' ControlToValidate="TextBox5" ErrorMessage="لطفا ایمیل خود را وارد کنید" ForeColor="#CC0000"></asp:RequiredFieldValidator> <br /> <asp:Label ID="Label8" runat="server" Text='<%# Eval("onvan") %>' Visible="False" ></asp:Label> <asp:Label ID="Label9" runat="server" Text='<%# Eval("dl") %>' Visible="False" ></asp:Label> </td> </tr> <tr> <td style="vertical-align: middle; text-align: center"></td> </tr> </table> </ItemTemplate> </asp:DataList>
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)