【初学级】关于html服务器控件和ASP.Net服务器控件

    写完才发现自己的题目,和写的关系似乎不大紧密,但其实最核心的也就那点东西,菜鸟程序员来一起学习吧
    昨天做了这样一个功能,因为是非常基础的,相信绝大多数人都应该做过。思路大概就是一个页面绑定了一些数据,而数据绑定在一个类似于gridview的第三方控件上,而同时上面还有几个input type="text"用来展示下面gridview的数据,意思就是比如我们下面grid中是一个学生表,学生可能属于不同的班级,那我们上面的input中,展示的就是班级:1班,2班等。当我们选择删除条学生时,为了增加更好的用户体验,实现的方式是在页面循环这个第三方控件,当选择的行,就用javascript将它删除(当然我们也操作了后台的数据源,是用js调用的后台一个ajax方法,我想这样没刷新页面肯定比你简单用一个ajax好,虽然当数据少的时候你看起效果差不多),而假如1班的学生全部删除完毕,则input中则删除1班。
  接着引发出了问题如下。
  问题大概是这样子,做了个简单的图,俗话说没图没真相

【初学级】关于html服务器控件和ASP.Net服务器控件  
  首先,我选用html的input type="text" runat="server" 的服务器控件,据说好处很多。因为aps:textbox微软为了功能强大,肯定封装了很多我们菜鸟用不到的东西。接着还有很重要的一点, aps.net服务器控件则总是要向服务器发送一个到进行处理,即使你只想用来展示数据而已,而html服务器控件则不会出现这个问题,假如你没有为其定义后台事件,它不会回传到服务端,asp.net服务器控件则不然
  接着,因为上面班级是不能修改的,所以在input中它的属性肯定是不能被用户随便修改的,意思是随下面grid中数据而变动的,于是我就选了input中的disabled属性结果发现,在前台删除了数据后,使用js操作改变input中的值完全正确,最后到后台的时候,则发现怎么也取到input中的新值了,它永远是第一次绑定时的值,即使在页面它已经显示新的值了。当然发现问题的时候,到处找不到解决办法,最后发现解决方法原来很简单,把disalbed属性删掉用readonly达到类似的结果。最后当自己写完的时候,自己想想也简单,难只是因为自己不知道,路还很远很长。
   

     

你可能感兴趣的:(asp.net)