你的问题 也困扰过我...
以下是个人理解 代码写的不一定好 例子:一个产品类型的按钮 -- 实现点击后得到你点击的对象 并继续......
其实 服务器控件也好 html控件也好 只要能实现功能就好
先直接拖个控件 <asp:Button ID="btnProQMS" runat="server" CommandName="QMS" />
你双击后即可在后台
- <P>/// <summary>
- /// 选择产品
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- protected void BtnProClick(object sender, EventArgs e)
- {
- var button = sender as System.Web.UI.WebControls.Button; //获得这个按钮
- try
- {
- var type = (button == null) ? "" : button.CommandName.ToUpper(); //获取按钮的CommandName值
- Session["ProType"] = type;
- Page.ClientScript.RegisterStartupScript(Page.GetType(), "loginportal", "<script>funOpenFrame()</script>"); //调前台js方法
- }
- catch (Exception ex)
- {
- Logger().Error(" BtnProClick Exception Message: " + ex.Message);
- }
- }</P>
复制代码- function funOpenFrame() {
- window.open("LoginPortalFrame.aspx", '', 'top=0,left=0,width=' + screen.availWidth + ',height=' + screen.availHeight + ',location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no');
- window.opener = null;
- window.open('', '_self');
- top.window.close(); //必须加top因为嵌套了iframe
- }
复制代码 其实 这个功能 也可以用html控件来实现
<img alt="" id="ImageBtn_ProQMS" runat="server" src="~/resources/themes/images/picture/btnProQMS.jpg"
onclick="funOpenFrame('QMS')" class="btnProQMS" /> 这是个图片按钮
onclick 调用的是前台的funOpenFrame方法
理论上:
(html控件) <input type="button" id="btn" value="button"/> 静态页面 不能在服务器端控制 只能在客户端被javascript等语言控制
(html服务器控件)<input id="Button" type="button" value="button" runat="server" /> 就是多加了runat="server"
但运行方式不同 它上运行在服务器端的 可以添加一个onserverclick事件 ,点击此按钮页面会发回服务器端,并执行test(object sender, EventArgs e)方法
(web服务器控件)<asp:Button ID="Button2" runat="server" Text="Button"/>当我们点击时 将由页面把Form发回到服务器端,由服务器来处理。
|