PDA

View Full Version : ثبت مقدار Null هنگام Update و Insert Formview



maryam_272
چهارشنبه 17 خرداد 1391, 14:07 عصر
سلام
من یک کنترل Formview توی صفحه دارم که می خوام حالت Edit و Insert داشته باشه وقتی روی دکمه های کلیک می کنم مقدار Null به تمام فیلدهام اختصاص میده
کسی می تونه راهنماییم کنه

<asp:FormView ID="ProductsFormView"
DataSourceID="SqlDataSource1"
DataKeyNames="Id"
runat="server"
DefaultMode="Edit" OnItemCommand="FormView1_ItemCommand" CellPadding="4"
ForeColor="#333333">

<EditItemTemplate>
<table>
<tr>
<td align="right">
<b>بخش :</b></td>
<td>
<asp:DropDownList ID="DdlBakhsh" runat="server" AppendDataBoundItems="True"
CssClass="ddlist" DataSourceID="SqlDataSourceBakhsh" DataTextField="Onvan"
DataValueField="Id" SelectedValue='<%# Bind("BakhshId") %>' Width="500px">
<asp:ListItem Value="0">همه بخشها</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="right">
<b>موضوع :</b></td>
<td>
<asp:DropDownList ID="DdlMozoe" runat="server" AppendDataBoundItems="True"
CssClass="ddlist" DataSourceID="SqlDataSourceMozoe" DataTextField="OnvaneMozoe"
DataValueField="Id" SelectedValue='<%# Bind("MozoeId") %>' Width="500px">
<asp:ListItem Value="0">همه موضوعات </asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="right">
<b>روتیتر :</b></td>
<td>
<asp:TextBox ID="txtTitr" runat="server" CssClass="required"
Text='<%# Eval("Rotitr") %>' Width="500px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<b>تیتر :</b></td>
<td>
<asp:TextBox ID="TextBox1" runat="server" CssClass="required"
Text='<%# Eval("Titr") %>' Width="500px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<b>نویسنده :</b></td>
<td>
<asp:TextBox ID="txtNevisande" runat="server" CssClass="txtClass"
Text='<%# Eval("Nevisande") %>' Width="500px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<b>خلاصه خبر :</b></td>
<td>
<asp:TextBox ID="TextBox2" runat="server" CssClass="txtClass" Height="300px"
Text='<%# Eval("KholaseyeMatlab") %>' TextMode="MultiLine" Width="500px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<b>متن خبر :</b></td>
<td>
<asp:TextBox ID="TextBox3" runat="server" CssClass="txtClass" Height="300px"
Text='<%# Eval("MatnKhabar") %>' TextMode="MultiLine" Width="500px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<b>تصویر نمایه:</b></td>
<td>
<asp:FileUpload ID="TavirNamaye1" runat="server" />
</td>
</tr>
<tr>
<td align="right">
<b>تصویر نمایه قبلی: </b>
</td>
<td>
<img align="True" alt="" border="0" class="None"
src='../../zImages/Post/<%# Eval("Id") %>TasvirNamaye_<%# Eval("ImageURL") %>' />
</td>
</tr>
<tr>
<td align="right">
<b>عکس متن: </b>
</td>
<td>
<asp:FileUpload ID="AksMatn1" runat="server" />
</td>
</tr>
<tr>
<td align="right">
<b>عکس ضمیمه قبلی:</b></td>
<td>
<img align="True" alt="" border="0" class="None"
src='../../zImages/Post/<%# Eval("Id") %>File_<%# Eval("ImageURL") %>' />
</td>
</tr>
<tr>
<td align="right">
<b>عنوان عکس: </b>
</td>
<td>
<asp:TextBox ID="TextBox8" runat="server" CssClass="txtClass"
Text='<%# Eval("OnvanAks") %>' Width="500px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
&nbsp;</td>
<td>
<asp:CheckBox ID="ChkGalleryIsJquery" runat="server"
Text="نمایش گالری عکس بصورت JQuery" />
</td>
</tr>
<tr>
<td>
&nbsp;&nbsp;
</td>
<td>
<uc1:ucDateTimeShamsi ID="ucDateTimeShamsi1" runat="server"
DateValue='<%#Eval("TimeDate") %>' />
</td>
</tr>
<%-- <tr>
<td>
</td>
<td align="center">
<asp:Button ID="RemoveTasvirNamaye" runat="server" Text="حذف تصویر نمایه" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:Button ID="RemoveAksMatn" runat="server" Text="حذف عکس متن" />
<br />
<asp:Button ID="Button1" runat="server" Text="ثبت اطلاعات" class="causesValidation" />
</td>
</tr>--%>
<tr>
<td colspan="2">
<asp:Button ID="btnInsert" runat="Server" CommandName="Update" Text="Update" />
<asp:Button ID="btnDelete" runat="Server" CommandName="Delete"
OnClientClick="return confirm('Are you sure to Delete?');" Text="Delete" />
</td>
</tr>
</table>
</EditItemTemplate>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<InsertItemTemplate>
<table>
<tr>
<td align="right"><b>بخش :</b></td>
<td>
<asp:DropDownList ID="DdlBakhsh" runat="server" DataSourceID="SqlDataSourceBakhsh" DataTextField="Onvan" DataValueField="Id" AppendDataBoundItems="True" Width="500px" CssClass="ddlist" SelectedValue='<%# Bind("BakhshId") %>'>
<asp:ListItem Value="0">همه بخشها</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="right"><b> موضوع :</b></td>
<td> <asp:DropDownList ID="DdlMozoe" runat="server" DataSourceID="SqlDataSourceMozoe" DataTextField="OnvaneMozoe" DataValueField="Id" AppendDataBoundItems="True" Width="500px" CssClass="ddlist" SelectedValue='<%# Bind("MozoeId") %>'>
<asp:ListItem Value="0">همه موضوعات </asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td align="right"><b> روتیتر :</b></td>
<td> <asp:TextBox ID="txtTitr" runat="server" CssClass="required" Width="500px" Text='<%# Eval("Rotitr") %>'></asp:TextBox></td>
</tr>
<tr>
<td align="right"><b> تیتر :</b></td>
<td> <asp:TextBox ID="TextBox1" runat="server" CssClass="required" Width="500px" Text='<%# Eval("Titr") %>' ></asp:TextBox></td>
</tr>
<tr>
<td align="right"><b>نویسنده :</b></td>
<td> <asp:TextBox ID="txtNevisande" runat="server" CssClass="txtClass" Width="500px" Text='<%# Eval("Nevisande") %>' ></asp:TextBox></td>
</tr>
<tr>
<td align="right"><b> خلاصه خبر :</b></td>
<td> <asp:TextBox ID="TextBox2" runat="server" CssClass="txtClass" Width="500px" Text='<%# Eval("KholaseyeMatlab") %>' TextMode="MultiLine" Height="300px" ></asp:TextBox></td>
</tr>
<tr>
<td align="right"><b> متن خبر :</b></td>
<td> <asp:TextBox ID="TextBox3" runat="server" CssClass="txtClass" Width="500px" Text='<%# Eval("MatnKhabar") %>' TextMode="MultiLine" Height="300px" ></asp:TextBox></td>
</tr>
<tr>
<td align="right"><b> تصویر نمایه:</b></td>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" /></td>
</tr>
<tr>
<td align="right"><b> عکس متن: </b></td>
<td>
<asp:FileUpload ID="FileUpload2" runat="server" /></td>
</tr>

<tr>
<td align="right"><b> عنوان عکس: </b></td>
<td> <asp:TextBox ID="TextBox8" runat="server" CssClass="txtClass" Width="500px" Text='<%# Eval("OnvanAks") %>' ></asp:TextBox></td>
</tr>
<tr>
<td align="right"><b> </b></td>
<td> <asp:CheckBox ID="ChkGalleryIsJquery" Text="نمایش گالری عکس بصورت JQuery" runat="server" Checked='<%# Eval("GalleryIsJquery") %>' /></td>
</tr>
<tr>
<td>
&nbsp;&nbsp;
</td>
<td>
<uc1:ucDateTimeShamsi ID="ucDateTimeShamsi1" runat="server" SetDateTimeToNow_InLoading="true" />
</td>
</tr> <tr>
<td> </td>
<td>
<asp:Button ID="btnUpdate" runat="Server" CommandName="Insert" Text="Insert" />
<asp:Button ID="Button1" runat="Server" CommandName="Cancel" Text="Cancel" />
</td>
</table>
</InsertItemTemplate>

<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
</asp:FormView>




<p>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:VWO_dbMainWebAplication_V0.1Conn ectionString1 %>"
DeleteCommand="DELETE FROM [Post] WHERE [Id] = @Id"
InsertCommand="INSERT INTO [Post] ([RoTitr], [Titr], [Nevisande], [MatnKhabar], [KholaseyeMatlab], [Counter], [OnvanAks], [CodeKhabar], [BakhshId], [MozoeId], [GalleryIsJquery], [ImageURL], [TimeDate], [SiteId]) VALUES (@RoTitr, @Titr, @Nevisande, @MatnKhabar, @KholaseyeMatlab, @Counter, @OnvanAks, @CodeKhabar, @BakhshId, @MozoeId, @GalleryIsJquery, @ImageURL, @TimeDate, @SiteId)"
SelectCommand="SELECT * FROM [Post] WHERE ([Id] = @Id)"
UpdateCommand="UPDATE [Post] SET [RoTitr] = @RoTitr, [Titr] = @Titr, [Nevisande] = @Nevisande, [MatnKhabar] = @MatnKhabar, [KholaseyeMatlab] = @KholaseyeMatlab, [Counter] = @Counter, [OnvanAks] = @OnvanAks, [CodeKhabar] = @CodeKhabar, [BakhshId] = @BakhshId, [MozoeId] = @MozoeId, [GalleryIsJquery] = @GalleryIsJquery, [ImageURL] = @ImageURL, [TimeDate] = @TimeDate, [SiteId] = @SiteId WHERE [Id] = @Id">
<DeleteParameters>
<asp:Parameter Name="Id" Type="Int64" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="RoTitr" Type="String" />
<asp:Parameter Name="Titr" Type="String" />
<asp:Parameter Name="Nevisande" Type="String" />
<asp:Parameter Name="MatnKhabar" Type="String" />
<asp:Parameter Name="KholaseyeMatlab" Type="String" />
<asp:Parameter Name="Counter" Type="Int64" />
<asp:Parameter Name="OnvanAks" Type="String" />
<asp:Parameter Name="CodeKhabar" Type="String" />
<asp:Parameter Name="BakhshId" Type="Int32" />
<asp:Parameter Name="MozoeId" Type="Int32" />
<asp:Parameter Name="GalleryIsJquery" Type="Boolean" />
<asp:Parameter Name="ImageURL" Type="String" />
<asp:Parameter Name="TimeDate" Type="DateTime" />
<asp:Parameter Name="SiteId" Type="Int32" />
</InsertParameters>
<SelectParameters>
<asp:QueryStringParameter Name="Id" QueryStringField="Post_Id" Type="Int64" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="RoTitr" Type="String" />
<asp:Parameter Name="Titr" Type="String" />
<asp:Parameter Name="Nevisande" Type="String" />
<asp:Parameter Name="MatnKhabar" Type="String" />
<asp:Parameter Name="KholaseyeMatlab" Type="String" />
<asp:Parameter Name="Counter" Type="Int64" />
<asp:Parameter Name="OnvanAks" Type="String" />
<asp:Parameter Name="CodeKhabar" Type="String" />
<asp:Parameter Name="BakhshId" Type="Int32" />
<asp:Parameter Name="MozoeId" Type="Int32" />
<asp:Parameter Name="GalleryIsJquery" Type="Boolean" />
<asp:Parameter Name="ImageURL" Type="String" />
<asp:Parameter Name="TimeDate" Type="DateTime" />
<asp:Parameter Name="SiteId" Type="Int32" />
<asp:Parameter Name="Id" Type="Int64" />
</UpdateParameters>
</asp:SqlDataSource>
<br />

<asp:SqlDataSource ID="SqlDataSourceMozoe" runat="server"
ConnectionString="<%$ ConnectionStrings:VWO_dbMainWebAplication_V0.1Conn ectionString1 %>"
SelectCommand="SELECT * FROM [MozoeeKhabar]"></asp:SqlDataSource>
</p>

این هم کدهاشه

farhud
چهارشنبه 17 خرداد 1391, 16:40 عصر
توی SqlDataSource1 مقدار متغیرها را null تعریف نکرده‌ای؟

maryam_272
چهارشنبه 17 خرداد 1391, 17:03 عصر
توی SqlDataSource1 مقدار متغیرها را null تعریف نکرده‌ای؟
من متوجه نمی شم منظور شما چیه؟
منکه SqlDataSource1 را توی صفحه گذاشتم مقدار null نداره و از طرفی من edit می کنم

maryam_272
یک شنبه 21 خرداد 1391, 10:23 صبح
سلام
نمی دونم چرا خیلی تو سایت برنامه نویس جواب سوالامو نمی گیرم
من دلیل اینکه مقادیر نال در دیتابیس ذخیره میشه رو پیدا کردم توضیح میدم که تا اگه کس دیگه ای هم به این مشکل برخورد بتونه برطرفش کنه من توی کدهام از Eval برای بایند کردن استفاده کرده ام که طبق توضیحی که در این سایت داده http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/formview.aspx این کد حالت یکطرفه دارد و با تغییر Eval به Bind مشکلم برطرف شد اما حالا یک مورد دیگه دارم اگر در حالت Edit برای بعضی فیلدها مثل عکس چیزی وارد نکنم مقدار قبلی فیلد از دست می رود و مقدار نال می گذارد چگونه تعیین کنم که اگر چیزی وارد نکرد مقدار قبلی را از دست ندهد
ممنون میشم کمکم کنید