关于datasource的问题

wappibz 2009-03-23 05:02:34
在datasource控件中,有<SelectParameters>这一选项。
如果我的默认值来自queryString,而又需要根据该页中一个list的值而变化,该怎样做呢?

比如我有一个页面,需要查看一个城市的一些资料,
<asp:QueryStringParameter DefaultValue="293" Name="cityId" QueryStringField="cityId" Type="Int32" />

但是我在该页又有一个城市列表,一旦用户选择其他城市,显示的资料就要跟着变化,应该怎样写才可以呢?
是不是再加一个
<asp:ControlParameter ControlID="RadioButtonList_city" Name="cityId" PropertyName="SelectedValue" Type="Int32" />

请问这样会不会冲突? 还是说有别的做法?

谢谢!!
...全文
85 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wappibz 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 suosuoyyy 的回复:]
在查询前更改参数值应该可以,但是可能你还需要加条件判断一下到底需不需要替换

protected void ObjectDataSource4_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["cityId"] = DropDownList1.SelectedValue;
    }
[/Quote]

这个有意思, 应该是一个解决办法, 也就是说, 我要用datasource的话,就只能在代码这边修改parameters了?

那如果我再使用ajax呢,比如点击radiobutton任意一项,页面就只刷新datasource改变的内容,
由于在页面那只写了<asp:QueryStringParameter DefaultValue="293" Name="cityId" QueryStringField="cityId" Type="Int32" />
那应该怎么进一步改进这个代码呢?
zzxap 2009-03-23
  • 打赏
  • 举报
回复
动态绑定DataSource
lxf2000104 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 wappibz 的帖子:]
在datasource控件中,有 <SelectParameters>这一选项。
如果我的默认值来自queryString,而又需要根据该页中一个list的值而变化,该怎样做呢?

比如我有一个页面,需要查看一个城市的一些资料,
<asp:QueryStringParameter DefaultValue="293" Name="cityId" QueryStringField="cityId" Type="Int32" />

但是我在该页又有一个城市列表,一旦用户选择其他城市,显示的资料就要跟着变化,应该怎样写才可以呢?
是不是…
[/Quote]

不冲突,大胆用。
开发快速
wappibz 2009-03-23
  • 打赏
  • 举报
回复
大家都不用datasource控件的?

那asp.net开发这么多控件出来干嘛 纯粹给学生用?

我觉得应该还是有用吧,至少代码上很好看,规整,而且确实可以提高工作效率 将来维护也很方便
浮生若梦丶 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhoufoxcn 的回复:]
不要使用DataSource控件了,真正的企业开发中没有人会用的,控制太不灵活了。学了也没用。
[/Quote]

====================================================================
恕我直白的讲:只有学生才在用这个控件...
qingniaoIT 2009-03-23
  • 打赏
  • 举报
回复
有些控件并不好用, 确实有这样的感觉.
suosuoyyy 2009-03-23
  • 打赏
  • 举报
回复
在查询前更改参数值应该可以,但是可能你还需要加条件判断一下到底需不需要替换

protected void ObjectDataSource4_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["cityId"] = DropDownList1.SelectedValue;
}
zuoming120 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pgameli 的回复:]
别用那控件,不方便的,还不如自己写,
你根据选择的城市在下拉列表选择事件中获得城市名
然后再根据条件查询呗
[/Quote]
做好别用。那个东西只适合,考试的时候用。开发能不用就不用。会整人的。
A海阔天空 2009-03-23
  • 打赏
  • 举报
回复

对。不要用那控件。用存储过程传递参数返回来显示
wappibz 2009-03-23
  • 打赏
  • 举报
回复
晕啊 我这又不是企业级的
没必要搞那么复杂吧

楼上两位的意思是 datasource控件无法做到这点? 还是说不用控件更方便?
pgameli 2009-03-23
  • 打赏
  • 举报
回复
别用那控件,不方便的,还不如自己写,
你根据选择的城市在下拉列表选择事件中获得城市名
然后再根据条件查询呗
wappibz 2009-03-23
  • 打赏
  • 举报
回复
... 那用什么
周公 2009-03-23
  • 打赏
  • 举报
回复
不要使用DataSource控件了,真正的企业开发中没有人会用的,控制太不灵活了。学了也没用。

62,267

社区成员

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

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

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

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