我正在尝试创建一个C#字符串构建器,稍后将根据数据库和用户输入中的信息构建一个html页面。
我遇到的麻烦是在字符串中创建两个按钮,其中一个按钮重定向到页面a.asp而另一个按钮重定向到b.asp
我尝试了多种方法,但似乎都没有。这是我最新版本的代码,但我可能偏离轨道:
在我的page.asp.cs文件中:
responseString +=
"<div>"
+"<table><tr>"
+"<td><button id='submitSave' type='submit'>Save</button></td>"
+ "<td><button id='continueBatch' onserverclick=\"OnClickButton\" type='submit' runat'server'>Continue Batch</button></td>"
+ "<td><button id='submitDelete' onclick='confirmDialog()' type='button'>Delete</button></td>"
+ "</tr></table></div>";
并且它也指向page.asp.cs中的方法:
public void OnClickButton()
{
//Redirect to New
Response.Redirect(String.Format("New.aspx?fmtypeP={0}&formverP={1}", FormTypeS, FormVersionS));
}
最后但并非最不重要的是我在page.asp页面中有以下内容:
<form action="save.aspx" method="POST">
我知道表单操作需要更改,但我只想告诉您我目前已经准备好了。
我是朝着正确的方向努力的吗?有没有更简单的方法来完成我的任务?如果不是我做错了什么?
答案 0 :(得分:0)
您无法使用此类服务器端控件。在你的代码中,他们只是添加到响应流而不是编译和东西。您需要向aspx页面添加控件,或者通过new()将其添加到实际控件等代码中,而不是像字符串一样。
答案 1 :(得分:0)
如果可能的话,我会依靠ajax来解决这个问题。一种解决方案是使用onclick并调用现有的javascript方法,就像你似乎已经对删除按钮上的confirmDialog()所做的那样。也许使用jquery的包装器进行ajax调用:http://api.jquery.com/jquery.ajax/。让server方法返回重定向链接并使用window.location = success-method中的返回值。
或者如果你知道在构建字符串时重定向链接应该是什么,你可以直接进行重定向:onclick =&#39; window.location =&#34;你的重定向链接&#34;&#39;