仓酷云
标题:
来一篇关于NET的怎样在一个MVC页面中完成多个提交按钮
[打印本页]
作者:
小女巫
时间:
2015-1-16 14:22
标题:
来一篇关于NET的怎样在一个MVC页面中完成多个提交按钮
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。好比,我们要在一个MVC页面中,完成多个中央图片上传。那末就会存在一个页面中有多个提交按钮的成绩。在网上也搜了良多谜底,都不太好使,最初仍是本人研讨出来了,把办理办法贴出来,但愿能给人人一些匡助。
aspx页面的代码以下:
<asp:ContentID="Content1"ContentPlaceHolderID="MainContent"runat="server">
<h2>
网站Logo办理</h2>
<table>
<tr>
<td>
申明:只能上传gif图片,网站不限制图片巨细,请上传符合巨细的图片,假如图片巨细过年夜,会形成网站变形等成绩。
</td>
</tr>
<tr>
<td>
Logo:<inputname="uploadpic"type="file"size="80"/>
<inputtype="submit"value="保留"name="action"/>
<divclass="red">
<%:Html.ValidationMessage("validationLogoError")%></div>
</td>
</tr>
</table>
<br/>
<br/>
<h2>
网站幻灯片办理</h2>
<table>
<tr>
<td>
申明:只能上传gif图片,保举巨细为1000pxX350px,假如原始图片不是该巨细,网站会主动将图片拉伸为该巨细,大概会形成图片变形等成绩。
</td>
</tr>
<tr>
<td>
幻灯片一:<inputname="uploadpic1"type="file"size="80"/>
<inputtype="submit"value="保留1"name="action"/>
<divclass="red">
<%:Html.ValidationMessage("validationLogoError1")%></div>
</td>
</tr>
<tr>
<td>
幻灯片二:<inputname="uploadpic2"type="file"size="80"/>
<inputtype="submit"value="保留2"name="action"/>
<divclass="red">
<%:Html.ValidationMessage("validationLogoError2")%></div>
</td>
</tr>
<tr>
<td>
幻灯片三:<inputname="uploadpic3"type="file"size="80"/>
<inputtype="submit"value="保留3"name="action"/>
<divclass="red">
<%:Html.ValidationMessage("validationLogoError3")%></div>
</td>
</tr>
<tr>
<td>
幻灯片四:<inputname="uploadpic4"type="file"size="80"/>
<inputtype="submit"value="保留4"name="action"/>
<divclass="red">
<%:Html.ValidationMessage("validationLogoError4")%></div>
</td>
</tr>
</table>
</asp:Content>
人人能够看到,我这个页面必要上传一个logo和四个幻灯片的图片,一共有五个提交按钮。注重,我这里每一个提交按钮的value是纷歧样的,而name都是"action",这是必需的,由于我们背景就靠这个来name来猎取到value的值,再依据value值来区分分歧的提交按钮。
action中的处置办法:
[HttpPost]
publicActionResultLogo(stringAction)
{
switch(Action)
{
case"保留":
{
if(Request.Files.Count!=0)
{
HttpPostedFileBasefile=Request.Files["uploadpic"];
stringExtension=Path.GetExtension(file.FileName);
stringnewFileName="logo"+Extension;
if(!Extension.Equals(".gif"))
{
ModelState.AddModelError("validationLogoError","只能上传gif范例图片");
}
else
{
file.SaveAs(Path.Combine(Server.MapPath("/Content/Logo/"),newFileName));
returnContent("<script>alert(保留乐成!);location.href=logo;</script>");
}
}
break;
}
case"保留1":
{
if(Request.Files.Count!=0)
{
HttpPostedFileBasefile=Request.Files["uploadpic1"];
stringExtension=Path.GetExtension(file.FileName);
stringnewFileName="1"+Extension;
if(!Extension.Equals(".gif"))
{
ModelState.AddModelError("validationLogoError1","只能上传gif范例图片");
}
else
{
file.SaveAs(Path.Combine(Server.MapPath("/Content/Logo/"),newFileName));
returnContent("<script>alert(保留乐成!);location.href=logo;</script>");
}
}
break;
}
case"保留2":
{
if(Request.Files.Count!=0)
{
HttpPostedFileBasefile=Request.Files["uploadpic2"];
stringExtension=Path.GetExtension(file.FileName);
stringnewFileName="2"+Extension;
if(!Extension.Equals(".gif"))
{
ModelState.AddModelError("validationLogoError2","只能上传gif范例图片");
}
else
{
file.SaveAs(Path.Combine(Server.MapPath("/Content/Logo/"),newFileName));
returnContent("<script>alert(保留乐成!);location.href=logo;</script>");
}
}
break;
}
case"保留3":
{
if(Request.Files.Count!=0)
{
HttpPostedFileBasefile=Request.Files["uploadpic3"];
stringExtension=Path.GetExtension(file.FileName);
stringnewFileName="3"+Extension;
if(!Extension.Equals(".gif"))
{
ModelState.AddModelError("validationLogoError3","只能上传gif范例图片");
}
else
{
file.SaveAs(Path.Combine(Server.MapPath("/Content/Logo/"),newFileName));
returnContent("<script>alert(保留乐成!);location.href=logo;</script>");
}
}
break;
}
case"保留4":
{
if(Request.Files.Count!=0)
{
HttpPostedFileBasefile=Request.Files["uploadpic4"];
stringExtension=Path.GetExtension(file.FileName);
stringnewFileName="4"+Extension;
if(!Extension.Equals(".gif"))
{
ModelState.AddModelError("validationLogoError4","只能上传gif范例图片");
}
else
{
file.SaveAs(Path.Combine(Server.MapPath("/Content/Logo/"),newFileName));
returnContent("<script>alert(保留乐成!);location.href=logo;</script>");
}
}
break;
}
}
returnView();
}
该办法只是让人人晓得
怎样在一个MVC页面中完成多个提交按钮
的思绪,代码并没有经由优化,人人在实践操纵中可将保留图片的办法提掏出来,以削减代码量。据说很厉害,甚至可以把C#也干掉^_^,不过也很复杂,本来C++已经够复杂的。有人甚至还提出把这个东东引进标准,我觉得基本上不可能的。
作者:
再现理想
时间:
2015-1-18 13:38
那么,ASP.Net有哪些改进呢?
作者:
仓酷云
时间:
2015-1-26 21:55
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
作者:
爱飞
时间:
2015-2-4 22:30
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
作者:
再见西城
时间:
2015-2-10 22:09
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
作者:
活着的死人
时间:
2015-3-1 17:03
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
作者:
小妖女
时间:
2015-3-10 21:38
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者:
小魔女
时间:
2015-3-17 11:21
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
作者:
只想知道
时间:
2015-3-24 09:48
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2