问题一   上传一张图片并显示上传图片 已经做好了 但是怎么让他显示呢? 不知道 return 什么.... 请高手解答  有代码更好问题二 更常见  怎么执行javascript脚本 在webform里 
  Response.Write("<script type='text/javascript'>alert('d');</script>");  就OK了  MVC里面就不行 直接一个白页 并把这个脚本输出了出来 查了下 MSDN  用了
    HttpResponseBase response =Response;
                    response.ContentType = "application/x-javascript";
                    return JavaScript("alert('请选择正确的格式')")
这种方法 依然不行... 效果和上面那个一样    ps: 已经引用了  需要的那些js了 问题三   也非常常见
看了很多 MVC的例子  微软的 音乐商店 和 codeplex等 的mvc项目  基本上都建立在 一个页面 对应一个  控制器的方法   一个页面 只有一个submit但实际项目里 一个页面 往往要执行 很多方法  
webfrom里 一个按钮 被解析成了 submit 对应 一个事件   但一个页面 只有一个 form 表单但mvc里 如果只有一个 表单  多个 submit  那么提交到哪个方法里 都不是.....好比上传的 应该提交到  上传的方法里       删除应该提交到删除   等 在线等答案  ~~  今天星期六 祝大家周末愉快  

解决方案 »

  1.   

    1. 用html, <img src="图片地址" />2. 在Action中 return Content("<script type='text/javascript'>alert('d');</script>", "text/html");3. 提交到不同的Action,单个表单多个表单都不成问题。可以通过继承System.Web.Mvc.ActionMethodSelectorAttribute,实现自己的Action选择器。
      

  2.   

    自己做个沙发  问题三 很多submit可以用 ajax  提交 但是并不是所有时候 都要那样做的..
    而且犹豫 没有了 ispostback  又多了 很多很多的加载....  每次提交按钮时  不知道大家如何避免?
      

  3.   


    1.   我上传完了以后 ?  返回什么?  才能让他读到图片地址呢?  一般我们都是返回 view吧  2 .   多谢 这个确实可以执行  但是问题是  执行后  就变成了一个白页了  因为返回的是Content 只是执行了脚本    我希望的是执行后  页面的其他内容还在  3.  sorry  我没有很理解~ 多谢你的回答~
      

  4.   

     问题二  执行javascript脚本 
    // Define the type and name of the client scripts on the page
    Type msgType = null;
    String msgName = "PopupScript";
    // 显示的信息
    String showMsg = "";
    // Get a ClientScriptManager reference from the Page class
    ClientScriptManager pageCs = null;if (!pageCs.IsStartupScriptRegistered(msgType, msgName))
    {
       showMsg = "alert('d');";
       pageCs.RegisterStartupScript(msgType, msgName, showMsg, true);
    }
      

  5.   


    1. 把图片地址传给视图,平时怎么让html页面显示图片的就怎么做。2. 跟1一样把那段脚本传给视图。
      

  6.   

    再举个例子  很常见的情景    一个页面 index    有个上传图片 并显示图片的按钮     一个下载Execl的按钮    还有三个列表  第一个列表( 河蟹新闻 )   第二个列表(热门游戏)  第三个(开发技术 )  这三个应该分别返回三个model   对吧?比如我们的控制器  下的方法 index()  对应页面的 index.shtml   那么我们的这个  index()方法  应该返回 哪个model呢   我现在的做法是   返回其中一个model     剩下的两个 用 ViewBag 或者 ViewData 但是这样 就没有智能提示了 非常不爽......请问大家是怎么解决这个常见问题的呢?
      

  7.   

    要执行某个Action,不一定要用表单来提交,通过简单的超链接类似 <a href="/user/logon" >这样就可以。ActionMethodSelector的作用就是当Action方法名称相同的时候,告诉框架该调用哪个方法。你需要自己实现匹配的逻辑,比如存在某个表单值的时候,才调用这个方法。
      

  8.   


    public class IndexViewModel
    {
        public List<河蟹新闻> List1;    public List<热门游戏> List2;    public List<开发技术> List3;
    }return View(new IndexViewModel());
      

  9.   


    [HttpPost]
    public ActionResult Upload(HttpPostedFileBase file)
    {
        // 保存图片
        // 生成图片的相对路径
        ViewData["Url"] = url;
        return View();
    }razor view :<img src="@ViewData["Url"]" />
      

  10.   

    非常感谢 定义一个视图模型~~ 好方法  我以前的做发  一直都是  大量使用 ViewBag 或者 ViewData  一会儿我去试下~~  再次感谢你的热心回答 
      

  11.   

    <% foreach (string fileName in Model.ToList ()) {   %>
        <img src ="<% =fileName %>"   alt ="image"  width="150"  height="100"/>   
     <% } %>
    参考