ASP.NET如何高效率生成1万一个<form> ???
做个小实验,如果是ASP, 我们可以用<%
create = "Yes"
if create = "Yes" then%>
<form>
<input type="text" name="txt1" id="txt1">
.......
</form>
<%end if%>
那么用asp.net我们该怎么做呢?
这个问题 的实际用途就好比常见的后台拥护管理,总管理员进入后要能看见所有菜单,一般管理员只能看见部分,在ASP中,我们通常只需要用if 语句判断以下 session("user"),然后后面跟需要显示的HTML代码,就可以了,
那么在asp.net中,如何做呢?。因为控件和代码是分离的,我们难道把全部的HTML转化为服务器控件,然后再分配个ID,然后再在分离出来的代码里控制,这样太被动了吧? 大家通常都是怎么解决的。就像上面,假如我们只是想测试一下ASP和ASP。NET的性能。我们想产生1万个<form>来比较,该怎么办,用response.write吗,我测试过,但是这样用response.write("<form>")的asp.net代码比asp直接用if 语句产生的, 时间上多了一倍以上。还有其他好办法吗? --------------------编程问答-------------------- 工具用对了才叫工具...小李他妈的飞刀不用来杀人可能不如一把水果刀...
建议lz学习OOP,OOD... --------------------编程问答-------------------- 另外补充一句,我通常用的是2.0的membership,根本就看不出他的运行原理,不过我想它大概和ASP的差不多,都是通过SESSION或者COOKIE来判断。 --------------------编程问答-------------------- 2楼你倒是说个说法也成,别他妈的飞刀不飞刀的。 --------------------编程问答-------------------- 呵,小李他妈的飞刀。。。 --------------------编程问答-------------------- .net也可以用<%%>的 --------------------编程问答-------------------- 你实现ASP的用法 也能在.NET上使用
还有 membership 这个玩意儿 压根儿就没使用过
还是自己做方便 --------------------编程问答-------------------- asp 有的 .net 同样有,
明白不?LZ
呵呵,
看样子混得不是很久,
连基本上的.net webform 运行原理都还没搞清楚,
--------------------编程问答-------------------- asp能实现的asp.net都能搞定,从asp到asp.net要转变开发思路! --------------------编程问答-------------------- 前台用控件,然后在后台批字符串,在给值它 --------------------编程问答-------------------- 建议LZ别下子想把整个项目从asp变成asp.net
因为你对asp.net的不熟悉 !
什么控件什么的都不知道 !!!
所以还是慢慢来!先从头学起!等熟练的时候!
也就知道个1,2了...... --------------------编程问答-------------------- 遍历输出
再说这么多form都晕死你 --------------------编程问答-------------------- 实现方法并不重要.有很多.开发思维要转变一下了. --------------------编程问答-------------------- 实现方法并不重要.有很多.开发思维要转变一下了. --------------------编程问答-------------------- 我之所以拿这个问题出来说,是因为一直没找到合适的解决的方法,而大家给的意见也只是泛泛而谈,没有实质性的突破。
ASP.NET可以用<% %>,这我知道。但是ASP.net所追求的是程序代码与HTML代码分开。以及UI,逻辑,数据业务分离的三层架构。是不允许这种<% %>结构存在的。所以如果我们还用<%if then%> + html +<%end if%>,也就显示不出来asp.net的特点了,同时,在ASP.NET1.1中是很明确的说明放在<%%> 中间的程序代码是不编译的,(2.0这点我不清楚)。这就足说明微软并不想.net在架构上再走asp的无序之路。
楼上说那么多from,起初有这个想法我只是想测试一下asp和 asp.net在运行速度上的孰优赎劣,但却发现用asp.net显著的runat ="server" 却如此难以实现。同时我试了一下asp.net用response.write 和ASP的<%if then%> + html +<%end if%>,发现asp.net真的很慢,足足花了近乎ASP一倍的时间,而且ASP只和HTML之间差1~2秒钟。
有人会提到用缓存,这是以牺牲内存资源为代价来提高性能的,同时在IIS 6.0中也加入了对asp缓存的支持。抛开缓存不讲,我觉得以.NET的优势,应该性能不输于ASP才对,期待高手!
--------------------编程问答-------------------- 我之所以拿这个问题出来说,是因为一直没找到合适的解决的方法,而大家给的意见也只是泛泛而谈,没有实质性的突破。
ASP.NET可以用<% %>,这我知道。但是ASP.net所追求的是程序代码与HTML代码分开。以及UI,逻辑,数据业务分离的三层架构。是不允许这种<% %>结构存在的。所以如果我们还用<%if then%> + html +<%end if%>,也就显示不出来asp.net的特点了,同时,在ASP.NET1.1中是很明确的说明放在<%%> 中间的程序代码是不编译的,(2.0这点我不清楚)。这就足说明微软并不想.net在架构上再走asp的无序之路。
楼上说那么多from,起初有这个想法我只是想测试一下asp和 asp.net在运行速度上的孰优赎劣,但却发现用asp.net显著的runat ="server" 却如此难以实现。同时我试了一下asp.net用response.write 和ASP的<%if then%> + html +<%end if%>,发现asp.net真的很慢,足足花了近乎ASP一倍的时间,而且ASP只和HTML之间差1~2秒钟。
有人会提到用缓存,这是以牺牲内存资源为代价来提高性能的,同时在IIS 6.0中也加入了对asp缓存的支持。抛开缓存不讲,我觉得以.NET的优势,应该性能不输于ASP才对,期待高手!
--------------------编程问答-------------------- .Net中设计的思路就不是这样的吧
如果要实现常见的后台拥护管理,总管理员进入后要能看见所有菜单,一般管理员只能看见部分这类问题
通常.Net中会从DB设计上去控制权限而非UI上控制的吧 --------------------编程问答-------------------- asp.net中只能由一个form --------------------编程问答-------------------- asp.net是只有一個運行于服務器端的from,那如果一個頁面想產生很多htmlform,該怎么做呢,ASP2,3句就搞定了,為什么asp.net做不了啊 --------------------编程问答-------------------- asp.net中只能由一个服务器端的form
nologin
----------
用response.write(" <form >")产生form
---------------------------------------------
当然 你这种方式是可以的
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 2; i < 10; i++)
{
Response.Write("<form id='form2'>"+i.ToString()+"</form>");
}
Response.End();
}
但是 你不是用oo思想做的
----------------------------------------------------------
我们想产生1万个 <form >来比较,该怎么办,用response.write吗,我测试过,但是这样用response.write(" <form >")的asp.net代码比asp直接用if 语句产生的, 时间上多了一倍以上。还有其他好办法吗?
---------------------------------------------------------------------
你这样和asp.net比可不行
asp 是不是只输出一个form到客户端,而不是多个form? 如果是, asp.net是输出多个form 占用大量带宽是网速慢 你这样比有意义吗??????
你产生form原因是什么
----
这个问题 的实际用途就好比常见的后台拥护管理,总管理员进入后要能看见所有菜单,一般管理员只能看见部分,在ASP中,我们通常只需要用if 语句判断以下 session("user"),然后后面跟需要显示的HTML代码,就可以了,
----
这个功能非常简单 无非作个用户控件 根据权限设置显示菜单 很简单
---------------------------------------------------------------------------
我通常用的是2.0的membership,根本就看不出他的运行原理,不过我想它大概和ASP的差不多,都是通过SESSION或者COOKIE来判断。
你把app_data文件夹删除 看一下 就明白了 如果不明白 你找书看看他的原理 很简单 就是数据库访问而已 我们大部分都是自己做
------------------------------------------
你用asp思想来做asp.net 那你还是用asp较好
--------------------编程问答-------------------- Response.Write() --------------------编程问答-------------------- 再说一下 这个程序
<%
create = "Yes"
if create = "Yes" then% >
<form >
<input type="text" name="txt1" id="txt1" >
.......
</form >
<%end if% >
好像你用用到判断语句
如果成立 就输出form 到客户端把
但你的 asp.net里 是否有判断后 输出
抱歉说了那么多
--------------------编程问答-------------------- 可以用硬编码?
在cs里面定义一过程,或者一全局变量
把你的form里面的html转换为字符串,
过程,或全局变量返回经过处理的html
这样再在aspx中<%=变量名或过程名称%> --------------------编程问答-------------------- 一个form就够了,要那么多干什么? --------------------编程问答-------------------- up --------------------编程问答-------------------- 简单一点的实现方法
做一个登录后的页面,将以下代码放入,用不同的角色登录.
<asp:LoginView ID="LoginView1" runat="server">
<RoleGroups>
<asp:RoleGroup Roles="admin">
<ContentTemplate>
<a href="">admin角色可见</a>
</ContentTemplate>
</asp:RoleGroup>
<asp:RoleGroup Roles="user">
<ContentTemplate>
user角色可见
</ContentTemplate>
</asp:RoleGroup>
</RoleGroups>
</asp:LoginView>
--------------------编程问答-------------------- .NET的强大在于它的类库,适用于复杂的业务逻辑与服务器端操作
客户端HTML说白了是字符串,你可以在服务器端整个生成好这个字符串,然后赋值给Literal控件
也可以override Render方法
--------------------编程问答-------------------- 路过····接分 --------------------编程问答--------------------
哈哈.........有意思 --------------------编程问答--------------------
一般不用.........自己写个类 --------------------编程问答-------------------- 用个Panel吧就可以判断,,,
把这
<form>
<input type="text" name="txt1" id="txt1">
.......
</form>
内容放到panel里面去,,,再判断panel的Visible是否真,就可以了
label也可以,,,一个样子,,,看来楼主是刚入门,,,思想没转到asp.net的开发思路...
实现同一个效果,,asp.net有自己的方法,,,不要把asp的写法强行用在asp.net上,,那样你是看不出asp.net的强大的. --------------------编程问答--------------------
说得好,.NET的强大之处在于它的类库,至于表现层的东西你是喜欢用ASP的写法还是ASP.NET的服务器控件这又有什么关系呢。 --------------------编程问答-------------------- 觉得在代码内写<%..%>反而方便些!
补充:.NET技术 , ASP.NET