.net中html表单和服务器控件的问题

bhbhxy 2010-04-08 02:40:51
小弟最近开始学.net,对一些东西不太了解
比如我在页面里面写了一个表单
<form id="frm" name="frm" action="xxxx.aspx" method="post">

</form>


然后我想在这个表单里面加一个服务器控件<asp:Button />
运行时提示要把form表单加上runat="server"
这样原来的方法action就被清空了还有里面的html <input type="submit" />
方法都用不了了,请问怎么保留原来的html方法仍然可以提交到action的页面
并且能够在这个表单里添加服务器控件呢?
...全文
107 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
丰云 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 bhbhxy 的回复:]
小弟最近开始学.net,对一些东西不太了解
比如我在页面里面写了一个表单
<form id="frm" name="frm" action="xxxx.aspx" method="post">

</form>


然后我想在这个表单里面加一个服务器控件<asp:Button />
运行时提示要把form表单加上runat="server"
这样原来的方法action就被清空了还……
[/Quote]
我只想跟你说,所有服务器控件能做的事情,
html标签也都能做到!!!
wuyq11 2010-04-08
  • 打赏
  • 举报
回复
<form id="form1" runat="server" enctype="multipart/form-data">
<INPUT id="File1" type="file" name="File1" runat="server">
<asp:Button ID="btnSave" runat="server" Text="上传" />
</form>
yufenghua 2010-04-08
  • 打赏
  • 举报
回复
个人意见:要不不用服务器控件 要不全用服务器控件 好搞一些
telankes2000 2010-04-08
  • 打赏
  • 举报
回复

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>未命名頁面</title>
<script language="javascript">

function upLoad(){
var form = document.getElementById("form1");
form.method = "POST";
form.action = window.location.href+ "?ac=upfile";
form.submit();
}

</script>

</head>
<body style="font-size:9pt">
<form id="form1" runat="server" enctype="multipart/form-data">
<input type="file" name="file1" id="file1" />
<input type="button" value="上传" onclick="upLoad()"/>
</form>
</body>
</html>



private void UpLoadFile(HttpPostedFile postFile,string savePath) {
using (FileStream fs = new FileStream(savePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) {
int bufferLength = 0;
int readLength = 10240;
byte[] buffer = new byte[10240];
while (true) {
bufferLength = postFile.InputStream.Read(buffer, 0, readLength);
if (bufferLength == 0) break;
fs.Write(buffer, 0, bufferLength);
}
}
}
protected void Page_Load(object sender, EventArgs e) {

if (Request.QueryString["ac"] != null) {
UpLoadFile(Request.Files[0], Server.MapPath("~/") + Path.GetFileName(Request.Files[0].FileName) );
}
}
geass 2010-04-08
  • 打赏
  • 举报
回复
按钮有个PostBackUrl属性可以提交数据到其他页面的
bhbhxy 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 pengyi_205 的回复:]

你为什么非要加服务器控件

服务器控件只能存在于 form runat="server" 的表单中

你加一个
HTML code

<input type="hidden" name="checkSubmit" value="Submit"/>
<input type="submit" value="提交"/>



在后台的pageload 中判断Request.Form["……
[/Quote]
我想实现上传文件,不用服务器控件应该怎么实现呢?
夺命胖子 2010-04-08
  • 打赏
  • 举报
回复
你为什么非要加服务器控件

服务器控件只能存在于 form runat="server" 的表单中

你加一个

<input type="hidden" name="checkSubmit" value="Submit"/>
<input type="submit" value="提交"/>


在后台的pageload 中判断Request.Form["checkSubmit"]是否为Submit
是就代表是提交了.

不就行了
bhbhxy 2010-04-08
  • 打赏
  • 举报
回复
我想做一个上传附件的功能,里面要用到fileUpload控件,但是原有的表单已经处理了一方法,是用action提交的地址,但是添加了服务器控件以后就不能使用action了
ztingtingmck 2010-04-08
  • 打赏
  • 举报
回复
前台可以这样写:
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
后台可以这样写:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("Default.aspx");
}
既可以有服务端控件,又可以跳转了,这本来就是asp.net 的优势
lirenniao 2010-04-08
  • 打赏
  • 举报
回复
不能同时写吧? 要不 就在 不同的 form里

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧