ســلما
یک شنبه 12 اردیبهشت 1395, 16:34 عصر
سلام دوستان
وقتی ListView رو با entitydatasource پر می کنم، مشکلی برای استفاده از CommandName و CommandArgument نیست:
<asp:ListView ID="AllCourseListView" runat="server" DataKeyNames="ID"
DataSourceID="CourseEntityDataSource" onitemcommand="AllCourseListView_ItemCommand">
<ItemTemplate>
<tr style="">
<td>
<asp:Label ID="CourseLabel" runat="server" Text='<%# LessonName(Eval("LessonID"))+" - "+TermName(Eval("TermID")) %>'></asp:Label>
</td>
<td>
<asp:Label ID="UniIDLabel" runat="server" Text='<%# UniName(Eval("UniID")) %>' />
</td>
<td>
<asp:Button ID="CourseSubmitRequestButton" runat="server" CommandName="CourseSubmitRequest" Text="درخواست ثبت نام" />
</td>
</tr>
</ItemTemplate>
asp:EntityDataSource ID="CourseEntityDataSource" runat="server"
ConnectionString="name=BREntities" DefaultContainerName="BREntities"
EnableDelete="True" EnableFlattening="False" EnableInsert="True"
EnableUpdate="True" EntitySetName="Courses">
کدبینهایند هم به این صورت
protected void AllCourseListView_ItemCommand(object sender, ListViewCommandEventArgs e)
{
if (e.CommandName == "CourseSubmitRequest")
{
CourseRequest CR = new CourseRequest();
CR.StuID = stuId;
ListViewDataItem item = (e.CommandSource as Button).NamingContainer as ListViewDataItem;
Label cId = (Label)item.FindControl("IDLabel");
CR.CourseID = Convert.ToInt16(cId.Text);
MyEntities.AddToCourseRequests(CR);
MyEntities.SaveChanges();
}
}
اما اگه از کنترل EntityDataSource استفاده نکنم و ListView رو به شکل زیر پر کنم
protected void Page_Load(object sender, EventArgs e)
{
var C = from c in br.Courses
select c;
ListView1.DataSource = C;
ListView1.DataBind();
}
دیگه اصلا وارد AllCourseListView_ItemCommand نمی شه! مشکل چیه؟
وقتی ListView رو با entitydatasource پر می کنم، مشکلی برای استفاده از CommandName و CommandArgument نیست:
<asp:ListView ID="AllCourseListView" runat="server" DataKeyNames="ID"
DataSourceID="CourseEntityDataSource" onitemcommand="AllCourseListView_ItemCommand">
<ItemTemplate>
<tr style="">
<td>
<asp:Label ID="CourseLabel" runat="server" Text='<%# LessonName(Eval("LessonID"))+" - "+TermName(Eval("TermID")) %>'></asp:Label>
</td>
<td>
<asp:Label ID="UniIDLabel" runat="server" Text='<%# UniName(Eval("UniID")) %>' />
</td>
<td>
<asp:Button ID="CourseSubmitRequestButton" runat="server" CommandName="CourseSubmitRequest" Text="درخواست ثبت نام" />
</td>
</tr>
</ItemTemplate>
asp:EntityDataSource ID="CourseEntityDataSource" runat="server"
ConnectionString="name=BREntities" DefaultContainerName="BREntities"
EnableDelete="True" EnableFlattening="False" EnableInsert="True"
EnableUpdate="True" EntitySetName="Courses">
کدبینهایند هم به این صورت
protected void AllCourseListView_ItemCommand(object sender, ListViewCommandEventArgs e)
{
if (e.CommandName == "CourseSubmitRequest")
{
CourseRequest CR = new CourseRequest();
CR.StuID = stuId;
ListViewDataItem item = (e.CommandSource as Button).NamingContainer as ListViewDataItem;
Label cId = (Label)item.FindControl("IDLabel");
CR.CourseID = Convert.ToInt16(cId.Text);
MyEntities.AddToCourseRequests(CR);
MyEntities.SaveChanges();
}
}
اما اگه از کنترل EntityDataSource استفاده نکنم و ListView رو به شکل زیر پر کنم
protected void Page_Load(object sender, EventArgs e)
{
var C = from c in br.Courses
select c;
ListView1.DataSource = C;
ListView1.DataBind();
}
دیگه اصلا وارد AllCourseListView_ItemCommand نمی شه! مشکل چیه؟