C# MVC-4在服务器端更改ViewBag.消息?

C# MVC-4在服务器端更改ViewBag.消息?,c#,asp.net-mvc-4,viewbag,C#,Asp.net Mvc 4,Viewbag,我是MVC编码的初学者。 当应用程序启动时,ViewBag.Message是:选择要上载的文件 上传成功后,更改为:文件上传成功 有没有一种方法可以让它在大约5秒钟后返回并显示Choose a file to upload消息,而不使用任何javascript? 我想如果mvc有一些内置的时间函数,我也许可以使用 我的看法是: @{ ViewBag.Title = "FileUpload"; } <h2>FileUpload</h2> <h3>Up

我是MVC编码的初学者。 当应用程序启动时,ViewBag.Message是:选择要上载的文件

上传成功后,更改为:文件上传成功

有没有一种方法可以让它在大约5秒钟后返回并显示Choose a file to upload消息,而不使用任何javascript? 我想如果mvc有一些内置的时间函数,我也许可以使用

我的看法是:

@{
    ViewBag.Title = "FileUpload";
}

<h2>FileUpload</h2>

<h3>Upload a File:</h3>


    @using (Html.BeginForm("FileUpload", "Home", FormMethod.Post, new {enctype = "multipart/form-data"}))
    { 
        @Html.ValidationSummary();
        <input type="file" name="fileToUpload" /><br />
        <input type="submit" name="Submit" value="upload" />  
        @ViewBag.Message
    }
简短的回答是否定的。我猜,因为你是新手,你想专注于MVC部分,但MVC和JavaScript是非常相互关联的,想想客户端JavaScript和服务器MVC,你应该真正掌握这两个方面,才能创建好网站

通常情况下,服务器不会向浏览器触发事件,而是由浏览器发出请求。有一些方法可以让服务器在客户机上引发事件,例如,但在这种情况下,这样做太过分了

最后。。。您试图实现的是客户端操作,即通知用户做某事。如果您在MVC中这样做,您将浪费网络带宽并增加延迟。当服务器调用实际上是一个客户端操作时,服务器调用会非常昂贵,因此应该在JavaScript中完成

不要回避JavaScript。拥抱它。仔细研究一下,这会给你带来很多沉重的负担。

简短的回答是否定的。我猜,因为你是新手,你想专注于MVC部分,但MVC和JavaScript是非常相互关联的,想想客户端JavaScript和服务器MVC,你应该真正掌握这两个方面,才能创建好的网站

通常情况下,服务器不会向浏览器触发事件,而是由浏览器发出请求。有一些方法可以让服务器在客户机上引发事件,例如,但在这种情况下,这样做太过分了

最后。。。您试图实现的是客户端操作,即通知用户做某事。如果您在MVC中这样做,您将浪费网络带宽并增加延迟。当服务器调用实际上是一个客户端操作时,服务器调用会非常昂贵,因此应该在JavaScript中完成


不要回避JavaScript。拥抱它。仔细研究一下,这会为您带来很多麻烦。

为此您必须使用javascript。为什么要寻找非javascript的解决方案?必须使用javascript。为什么要寻找非javascript的解决方案?谢谢,回答得很好,我知道现在要研究什么^_^欢迎您@xoxo_tw,学习愉快!你会发现StackOverflow是一个无价的资源,我有/有!谢谢你,回答得很好,我现在知道要调查什么了^_^欢迎您@xoxo_tw,学习愉快!你会发现StackOverflow是一个无价的资源,我有/有!
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Mvc_fileUploader.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Choose a file to upload!";
            return View("FileUpload");
        }

        [HttpPost]
        public ActionResult FileUpload(HttpPostedFileBase fileToUpload)
        {

            if (ModelState.IsValid)
            {
                if (fileToUpload != null && fileToUpload.ContentLength > (1024 * 1024 * 1))  // 1MB limit
                {
                    ModelState.AddModelError("fileToUpload", "Your file is to large. Maximum size allowed is 1MB !");
                }

                else
                {
                    string fileName = Path.GetFileName(fileToUpload.FileName);
                    string directory = Server.MapPath("~/fileUploads/");

                    if (!Directory.Exists(directory))
                    {
                        Directory.CreateDirectory(directory);
                    }

                    string path = Path.Combine(directory, fileName);
                    fileToUpload.SaveAs(path);

                    ModelState.Clear();
                    ViewBag.Message = "File uploaded successfully!";
                }
            }

                return View("FileUpload");

        }



        public ActionResult About()
        {
            ViewBag.Message = "Your app description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}