服务器和客户端控件的困惑 100分 不够在加

wangmingmi 2009-12-07 09:26:43

//比如一个txtbox我习惯这样写
<input name="txtSize" type="text" value="<%=model.Size %>" />
有的人这样写
<input name="txtSize" type="text" ranat="server"/>
然后在.cs里赋值
他们鄙视我那样写不好 是asp的风格没有实现代码分离 加上ranat="server"在 .cs很方便控制
但是我认为 美工缺好div后我直接赋值 不用改变她的东西
下次有了修改 美工也方便 她也认识html的

我想请教下 两钟写法性能上有区别吗? 我是认为能不用ranat="server" 就不用..
郁闷中..我以前也喜欢 ranat="server" 但是后来就能不加就不加了 难道一直我都错了? 难道我又回到asp模式了?
...全文
257 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangmingmi 2009-12-10
  • 打赏
  • 举报
回复
恩恩 还有吗?谢谢
罗纳尔迪尼奥 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 wuyq11 的回复:]
服务器控件 解释成html控件后 id名称会变化
服务端所有操作都在服务器进行,效率肯定不如用html标签
服务器控件控件太多,viewstate太多,影响效率
[/Quote]

1 服务器控件解释成html后,ID名称未必都会有变化
2 这个要看应用情况和环境,未必效率就差
3 情况待定
long123x 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gongsun 的回复:]
我遇到的N多美工 都不认识html。...

唉...

.net注重的是架构,设计模式,可扩展性...

某些个人习惯没有必要研究,性能方面没多少影响。如果真的是大型电子商务网站,基本还是采用php的。
[/Quote]

.net注重的是架构,设计模式,可扩展性..
维护方便,代码清晰,流程分明..
但是大量runat="server"肯定会影响速度.
不过现在嘛,随着网速不断的提升,这点应该在不久的将来就不是问题了...

楼主的这种方法,个人觉得,除了提升了性能以外,舍弃了太多东西.

所以取舍在个人吧..
我是比较喜欢使用runat="server"的.
方便节省时间,而且就算其他的人接手我的工作,也会比较容易上手吧~
xuefeng_zzg 2009-12-08
  • 打赏
  • 举报
回复
习惯就好
phf0313 2009-12-08
  • 打赏
  • 举报
回复
如果加上runat=server,取控件的值比较方便;
wangmingmi 2009-12-08
  • 打赏
  • 举报
回复
谢谢楼上的!请大家都发表下看法 谢谢
Adechen 2009-12-07
  • 打赏
  • 举报
回复
性能似乎没有大的区别,
liaoyukun111 2009-12-07
  • 打赏
  • 举报
回复
习惯就好了
WindseekerNeo 2009-12-07
  • 打赏
  • 举报
回复
应该还是习惯问题吧,我感觉是这样的

性能上究竟有没有区别呢 等待高人出现~
wjn161 2009-12-07
  • 打赏
  • 举报
回复
嗯,看完了所有的回复,说说我的个人理解。


<input name="txtName" type="text" runat="server">

这种形式,在ASP.NET里面这种形式解析成HTML以后ID是不会变的。但是页面需要维护ViewState,但是比起
TextBox这种形式的ViewState要小的多,只是最基本的页面状态。


<input name="txtName" type="text" value="<%=ServerCode%>">


这种形式不会产生额外的代码,页面很干净,暂且不说像不像ASP,关键问题在于破坏了页面类的封装性,你的那些public变量和方法,很容易被其他类访问到,甚至是恶意的修改或者其他什么问题。


所以,我觉得既然选择了使用asp.net的webform形式最为UI表现,那么并没有必要去排斥服务器控件,以现在的网络条件并不缺下载viewstate的那点速度。至于什么时候用什么,那么在效率影响不大的情况下,这只是个人喜好而已。就比如您现在提的这个问题。
如果想要页面干净的话,大可以去使用asp.net MVC 他的页面十分的干净,但是对于小应用来说,那不是自找苦吃么!
wangmingmi 2009-12-07
  • 打赏
  • 举报
回复
请大家都发表下看法吧 谢谢
Joetao 2009-12-07
  • 打赏
  • 举报
回复
确实自己有时也有这样的疑惑啊!帮忙顶下!
chinabinl 2009-12-07
  • 打赏
  • 举报
回复
相对来说我还是觉得这样写比较好
<input name="txtSize" type="text" value="<%=model.Size %>" />

如果你这个页面用txtSize比较多 还是按下面这样写 操作方便
<input name="txtSize" type="text" ranat="server"/>
获取的时候比较简单

如果操作比较少 还是用上面那种

个人观点
wangmingmi 2009-12-07
  • 打赏
  • 举报
回复
还有吗?大家都发表下看法啊
a296694166 2009-12-07
  • 打赏
  • 举报
回复
习惯就好
woshifou 2009-12-07
  • 打赏
  • 举报
回复
应用Ext,美工都做好了,验证在客户端进行的。
[路在脚下] 2009-12-07
  • 打赏
  • 举报
回复
我说的是 如何方便的获取数据,并不是不能获取,用runat="server" 当有错误时编译的时候就可以发现错误,你那样写编译时就没办法发现错误了
Wonderful_Lee 2009-12-07
  • 打赏
  • 举报
回复
asp.net的优势就是代码后置。、
不过两种我都经常用。
习惯问题把。
happyboyxq1985 2009-12-07
  • 打赏
  • 举报
回复
还是在CS里写比较好吧,这样才能体现asp.net的代码分离。
wangmingmi 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 badxpgy 的回复:]
楼主,假如你用来修改的话,如果不加runat="server" 如何方便的获取input中的数据啊?
[/Quote]

if (Page.IsPostBack)
{
//如果是回发
model.Name = Request.Form["txtName"];
model.Size = Request.Form["txtSize"];
model.BeginDate = DateTime.Parse(Request.Form["txtBeginDate"]);
model.EndDate = DateTime.Parse(Request.Form["txtEndDate"]);
bll.update(model);
}
//这样 用POST提交给自己
加载更多回复(12)

62,254

社区成员

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

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

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

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