日期:2014-05-17  浏览次数:20407 次

如果页面使用ASP.NET服务器控件,怎么用美工已经设计好的CSS控制?
问题的前置条件:
1. 美工已经根据图片对页面切好了图,对各个html形式的 button、table等的样式已经设计好了CSS 和 部分用于页面显示控制的 Javascript;

2. 现在我们可以采用纯粹 HTML + Javascript + Ajax + Webservice 的形式进行开发(完全不用asp.net控件,或者部分使用asp.net服务器端控件),或者采用asp.net服务器端控件的形式进行开发

我的问题是:
1. 如果页面采用了服务器端控件,怎么使用美工已经设计好的CSS样式呢?比如我如果用了Gridview或者Repeater,或者服务器端的button, 如何把美工针对HTML的 Table 或者button 设计好的CSS往这些服务器控件上套?

2. 页面是否应该采用纯粹 HTML + Javascript + Ajax + Webservice 的形式进行开发?如果采用这种方式,如何解决安全问题?(比如非授权用户访问WS的方法),在WS中用session是否足够可靠解决避免非授权用户访问?

------解决方案--------------------
这没有什么特别好的办法,因为webforms的控件无法精确产生html和样式。需要美工对控件机制有了解,或者放弃控件。
------解决方案--------------------
要精确控制 html,就别用控件了。ajax 不一定要 webservice,也可以是 ashx 或者 aspx,以便利用forms身份验证
------解决方案--------------------
可以使用html控件(runat="server"),它同原生的html非常接近。对于Gridview或者Repeater也不难,只要你熟悉它们在客户端生成什么标记,一样可以比较好的使用css为其定义样式。你只要熟悉,都可以灵活掌控。
------解决方案--------------------
直接加样式啊
------解决方案--------------------
App_Themes

所有的控件都使用 skin

但诚如楼上所言,要想更好的应用,还得自己控制
------解决方案--------------------
控件不一样用css控制吗?
------解决方案--------------------
问题一:数据循环显示可以不用控件
比如用<%foreach(var item in List<T>)%>这种泛型循环来产生,可以出现输出按你写好的html的代码
如果是单个控件可以用后台cs文件定义protect或者public变量来 让aspx页面使用
当然也可以用<%= model.xxx%>这种实体类的方式来访问
问题二:就像他们说的,ajax不一定要用webservice来开发,同样可以用ashx,他是一个很轻量级的页面
现在很流行的开发方式就是html+jquery+ajax+ashx,不用控件的
------解决方案--------------------
3楼说的很对、、
只要你知道对应生成后的HTML标记是什么就成了。我一般都是直接加的。
给个例子。。

C# code

<asp:DropDownList ID="ddlTypeName" name="TypeName" runat="server" Style="width: 160px;" AutoPostBack="True"></asp:DropDownList>