CommandName问题

yanghu612 2012-11-08 05:14:44
<form id="form1" runat="server">
<div>
>
<asp:ListView
ID="lstMovieCategories"
DataSourceId="srcMovieCategory"
DataKeyNames="Id"
runat="server">
<LayoutTemplate>
<div class="categoryContainer">
<asp:PlaceHolder
id="itemPlaceholder"
Runat="server" />
</div>
</LayoutTemplate>
<ItemTemplate>
<div>
<asp:LinkButton
id="lnkSelect"
Text='<%# Eval("Name") %>'
CommandName="Select"
Runat="server" />
</div>
</ItemTemplate>


<SelectedItemTemplate>

<div id="selected">
<%# Eval("Name") %>
<i>yang</i>
</div>
</SelectedItemTemplate>
</asp:ListView>

<br style="clear:both" /><br />

<asp:ListView
ID="lstMovies"
DataSourceId="srcMovies"
runat="server">
<LayoutTemplate>
<ol>
<asp:PlaceHolder
id="itemPlaceholder"
runat="server" />
</ol>
</LayoutTemplate>
<ItemTemplate>
<li><%# Eval("Title") %></li>
</ItemTemplate>
</asp:ListView>

<asp:SqlDataSource
id="srcMovieCategory"
SelectCommand="SELECT Id, Name FROM MovieCategory"
ConnectionString='<%$ ConnectionStrings:con %>'
Runat="server" />

<asp:SqlDataSource
id="srcMovies"
SelectCommand="SELECT Title FROM Movie
WHERE CategoryId=@CategoryId"
ConnectionString='<%$ ConnectionStrings:con %>'
Runat="server">
<SelectParameters>
<asp:ControlParameter

Name="CategoryId"
ControlID="lstMovieCategories" />
</SelectParameters>
</asp:SqlDataSource>
</div>
</form>


这个CommandName有什么作用
还有最后那个SelectParameters怎么没有设置PropertyName属性
CategoryId这个参数的值又从哪里来
...全文
455 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzyoucan 2013-12-09
  • 打赏
  • 举报
回复
haojuntu 2012-11-08
  • 打赏
  • 举报
回复
引用 楼主 yanghu612 的回复:
<form id="form1" runat="server"> <div> > <asp:ListView ID="lstMovieCategories" DataSourceId="srcMovieCategory" DataKeyNames="Id" ……
你做添加、修改、删除时,可以传递名称,方便后台判断的
chen_ya_ping 2012-11-08
  • 打赏
  • 举报
回复
这个如果是你自己写事件的话,还是需要这个的
Hauk 2012-11-08
  • 打赏
  • 举报
回复
DataKeyNames指示该数据源中的主键字段, 在rowupdating,RowEditing事件中可以通过 this.lstMovieCategories.DataKeys[e.NewEditIndex].Value获得该行的主键值 在其他事件中也可以this.lstMovieCategories.DataKeys[索引].Value获得 在查询语句中的@CategoryId这个参数,就是通过SelectParameters设置中来的。
yanghu612 2012-11-08
  • 打赏
  • 举报
回复
还有那个DataKeyNames="Id" 有什么意义
yanghu612 2012-11-08
  • 打赏
  • 举报
回复
引用 1 楼 haukwong 的回复:
CommandName用于触发Command事件后判断该做什么操作。 如果设置update,insert,select的话,可以触发默认的对应操作。 如果是自定义按钮,或其他CommandName的话。可以在Command事件中判断e.CommandName来做不同的操作。 SelectParameters的设置: XML/HTML code12345 ……
在查询语句中的@CategoryId这个参数的值又从哪里传递来的
yanghu612 2012-11-08
  • 打赏
  • 举报
回复
不加好像也可以吧。
笨笨熊三号 2012-11-08
  • 打赏
  • 举报
回复
<asp:LinkButton CommandName="select" CommandArgument='<%#Eval("ID") %>'
加一个CommandArgument='<%#Eval("ID") %>' <asp:LinkButton CommandName="delete" CommandArgument='<%#Eval("ID") %>'[/code] 加一个[color=#FF0000]CommandArgument='<%#Eval("ID") %>' 当你点击这个LinkButton时,先判断if(e.CommandName=="select")然后就能string id=e.CommandArgument.ToString();得到你点击这一行的主键ID
Hauk 2012-11-08
  • 打赏
  • 举报
回复
CommandName用于触发Command事件后判断该做什么操作。 如果设置update,insert,select的话,可以触发默认的对应操作。 如果是自定义按钮,或其他CommandName的话。可以在Command事件中判断e.CommandName来做不同的操作。 SelectParameters的设置:

            <SelectParameters>
                <asp:ControlParameter ControlID="控件名称" Name="SQL中的参数名" PropertyName="控件的属性" 
                    Type="String" />
            </SelectParameters>

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧