FM.ALPACHINO
شنبه 20 آذر 1389, 23:37 عصر
سلام دوستان
من دو جدول Album و Photo دارم می خواهم از یک details view برای درج ، اپدیت ، حذف استفاده کنم
برای درج یک تصویر باید ابتدا البوم مورد نظر را انتخاب و سپس شناسه انرا در جدول تصاویر درج کنم برای این یک یوزر کنترل ساختم که با انتخاب نام البوم از drop down lis شناسه البوم را در پراپرتی قرار دهد تا بتوانم از ان به عنوان propertyname استفاده کنم.حالا که این یوزر کنترل را در edit teplate قرار میدهم موقع درج خظا میدهد و میگه نمی تونه AlbumID رو پیدا کنه به نظرتون مشکل چیه؟
selectedAlbum :usercontrolname and selectedValue:Property
selectedAlbum.ascx.cs
publicstring SelectedValue
{
get { return DropDownList1.SelectedValue; }
}
-------------------------------------
<asp:DetailsViewID="DetailsView2"runat="server"AutoGenerateRows="False"
DataKeyNames="PhotoID"DataSourceID="SqlDataSource3"Height="50px"
Width="125px">
<Fields>
<asp:BoundFieldDataField="PhotoID"HeaderText="شناسه تصویر"
InsertVisible="False"ReadOnly="True"SortExpression="PhotoID"/>
<asp:TemplateFieldHeaderText="AlbumID"SortExpression="AlbumID">
<EditItemTemplate>
<uc2:SelectedAlbumID="SelectedAlbum1"runat="server"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:CheckBoxFieldDataField="Visible"HeaderText="قابل رویت"
SortExpression="Visible"/>
<asp:TemplateFieldHeaderText="نام تصویر"SortExpression="Caption">
.........
</Fields>
</asp:DetailsView>
<
asp:SqlDataSourceID="SqlDataSource3"runat="server"
ConnectionString="<%$ ConnectionStrings:MisaghDBConnectionString1 %>"
DeleteCommand="DELETE FROM [Photos] WHERE [PhotoID] = @PhotoID"
InsertCommand="INSERT INTO [Photos] ([AlbumID], [Visible], [Caption]) VALUES (@AlbumID, @Visible, @Caption)"
ProviderName="<%$ ConnectionStrings:MisaghDBConnectionString1.Provid erName %>"
SelectCommand="SELECT [PhotoID], [AlbumID], [Visible], [Caption] FROM [Photos] where [PhotoID]=@PhotoID"
UpdateCommand="UPDATE [Photos] SET [AlbumID] = @AlbumID, [Visible] = @Visible, [Caption] = @Caption WHERE [PhotoID] = @PhotoID">
<DeleteParameters>
<asp:ParameterName="PhotoID"Type="Int32"/>
</DeleteParameters>
<InsertParameters>
<asp:ControlParameterType="Int32"Name="AlbumID"ControlID="SelectedAlbum1"PropertyName="SelectedValue"/>
<asp:ParameterName="Visible"Type="Boolean"/>
<asp:ParameterName="Caption"Type="String"/>
</InsertParameters>
<SelectParameters>
<asp:ControlParameterName="PhotoID"ControlID="DataList1"
PropertyName="SelectedValue"/>
</SelectParameters>
<UpdateParameters>
<asp:ControlParameterType="Int32"Name="AlbumID"ControlID="SelectedAlbum1"PropertyName="SelectedValue"/>
<asp:ParameterName="Visible"Type="Boolean"/>
<asp:ParameterName="Caption"Type="String"/>
<asp:ParameterName="PhotoID"Type="Int32"/>
</UpdateParameters>
</asp:SqlDataSource>
من دو جدول Album و Photo دارم می خواهم از یک details view برای درج ، اپدیت ، حذف استفاده کنم
برای درج یک تصویر باید ابتدا البوم مورد نظر را انتخاب و سپس شناسه انرا در جدول تصاویر درج کنم برای این یک یوزر کنترل ساختم که با انتخاب نام البوم از drop down lis شناسه البوم را در پراپرتی قرار دهد تا بتوانم از ان به عنوان propertyname استفاده کنم.حالا که این یوزر کنترل را در edit teplate قرار میدهم موقع درج خظا میدهد و میگه نمی تونه AlbumID رو پیدا کنه به نظرتون مشکل چیه؟
selectedAlbum :usercontrolname and selectedValue:Property
selectedAlbum.ascx.cs
publicstring SelectedValue
{
get { return DropDownList1.SelectedValue; }
}
-------------------------------------
<asp:DetailsViewID="DetailsView2"runat="server"AutoGenerateRows="False"
DataKeyNames="PhotoID"DataSourceID="SqlDataSource3"Height="50px"
Width="125px">
<Fields>
<asp:BoundFieldDataField="PhotoID"HeaderText="شناسه تصویر"
InsertVisible="False"ReadOnly="True"SortExpression="PhotoID"/>
<asp:TemplateFieldHeaderText="AlbumID"SortExpression="AlbumID">
<EditItemTemplate>
<uc2:SelectedAlbumID="SelectedAlbum1"runat="server"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:CheckBoxFieldDataField="Visible"HeaderText="قابل رویت"
SortExpression="Visible"/>
<asp:TemplateFieldHeaderText="نام تصویر"SortExpression="Caption">
.........
</Fields>
</asp:DetailsView>
<
asp:SqlDataSourceID="SqlDataSource3"runat="server"
ConnectionString="<%$ ConnectionStrings:MisaghDBConnectionString1 %>"
DeleteCommand="DELETE FROM [Photos] WHERE [PhotoID] = @PhotoID"
InsertCommand="INSERT INTO [Photos] ([AlbumID], [Visible], [Caption]) VALUES (@AlbumID, @Visible, @Caption)"
ProviderName="<%$ ConnectionStrings:MisaghDBConnectionString1.Provid erName %>"
SelectCommand="SELECT [PhotoID], [AlbumID], [Visible], [Caption] FROM [Photos] where [PhotoID]=@PhotoID"
UpdateCommand="UPDATE [Photos] SET [AlbumID] = @AlbumID, [Visible] = @Visible, [Caption] = @Caption WHERE [PhotoID] = @PhotoID">
<DeleteParameters>
<asp:ParameterName="PhotoID"Type="Int32"/>
</DeleteParameters>
<InsertParameters>
<asp:ControlParameterType="Int32"Name="AlbumID"ControlID="SelectedAlbum1"PropertyName="SelectedValue"/>
<asp:ParameterName="Visible"Type="Boolean"/>
<asp:ParameterName="Caption"Type="String"/>
</InsertParameters>
<SelectParameters>
<asp:ControlParameterName="PhotoID"ControlID="DataList1"
PropertyName="SelectedValue"/>
</SelectParameters>
<UpdateParameters>
<asp:ControlParameterType="Int32"Name="AlbumID"ControlID="SelectedAlbum1"PropertyName="SelectedValue"/>
<asp:ParameterName="Visible"Type="Boolean"/>
<asp:ParameterName="Caption"Type="String"/>
<asp:ParameterName="PhotoID"Type="Int32"/>
</UpdateParameters>
</asp:SqlDataSource>