.net 程序员之关于MVC 2.0 那些事!
MVC到底比webform 好在那?不说那些有的没的。个人觉得MVC最大的好处就是代码集中。复用率高。特别是有时候使用强视图,那是Z易做图的爽。集成。高度集成。
我们的项目还停留在mvc2.0 +ado.net+webform(个别页面)+jquery 这么的一个搭配里。分享下自己整整搞搞出来的居于MVC的无刷新上传控件(没有进度条)。
这是一个函数 调用方式: BaseUploadFile(1024 * 100, new List<string>() { "jpg", "jpeg", "png", "gif", "JPG", "JPEG", "PNG", "GIF" }); 参数1是大小;参数2是后缀名。
protected ActionResult BaseUploadFile(int Maxlength, List<string> postfix)
{
try
{
HttpPostedFileBase httpfile = Request.Files["FileMy"];
string[] str = httpfile.FileName.Split('.');
string extion = str[str.Length - 1];
bool isExtion = false;
foreach (string pos in postfix)
{
if (pos == extion)
{
isExtion = true; break;
}
}
if (string.IsNullOrEmpty(extion) || (isExtion==false))
{
return Content("1");
}
string saveUrl = "/upload/UploadMVC/" + Guid.NewGuid().ToString() + "." + extion + "";
if (httpfile.ContentLength > Maxlength)
{
return Content("2");
}
httpfile.SaveAs(Server.MapPath(saveUrl));
return Content(saveUrl);
}
catch (Exception ex)
{
return Content("3");
}
}
前台代码 此处要用到一个jquery 的插件 Form.js 度娘取下在吧。
看看就是这个效果。
View Code
<script type="text/javascript">
function showResponse(responseText, statusText, xhr, $form) {
if (responseText == "1") {
alert("上传的格式不正确!");return false;
}
if (responseText == "2") {
alert("上传的文件超过上传大小限制!");return false;
}
if (responseText == "3") {
alert("上传发生错误");return false;
}
$("#NNimgUrl").attr("src", responseText);
}
function sumbitFile() {
var options = {
success: showResponse
}
$('#myForm1').ajaxSubmit(options);
}
</script>
<form action="/Form/uploadFile" method="post" enctype="multipart/form-data" id="myForm1">
<img src="/images/20090903224006826.png" style=" width:50px; height:50px;" id="NNimgUrl"/> <input id="FileMy" name="FileMy" type="file" style="background-color: #D9D9D9; color: #009999" /><input id="Button1" onclick="sumbitFile()" type="button" value="上传" style="background-color: #996633; color: #FFFFFF" />
</form>
<div id="dics"></div>
摘自 青牛客
补充:Web开发 , ASP.Net ,