2

ASP.NET MVC への私の方法は、ASP.NET Web フォーム全体ではなかったため、ASP.NET MVC コントローラーから MVC ビュー内にある ASP.NET Web フォーム スクリプトに値を渡す方法を理解するのは困難です。

たとえば、コントローラー アクション:

 public ViewResult Print(string id)
    {
       ...
       string myvar = "realvalue"; 
       return View();
    }   

私の見解:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
...
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <script runat="server">
      ...  
     string par1 = "stubvalue";

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        ReportViewer1.Report = new MyProj.Web.Reports.Rep1(par1);
    }
    </script>
<telerik:ReportViewer runat="server" ID="ReportViewer1" />
</asp:Content>

myvar「スタブ値」ではなく、コントローラーアクションからpar1ビューの変数に値を割り当てる方法は ?

4

3 に答える 3

1

そのように、ViewData を介して渡してみましたか?

アクション: ViewData["myvar"] = "realvalue";

ビュー: string parl = ViewData["myvar"];

于 2010-12-24T16:39:22.343 に答える
1

setter 呼び出しを onload イベントに移動します

protected override void OnLoad(EventArgs e) { base.OnLoad(e); string par1 = (string) ViewData["myvar"]; ReportViewer1.Report = 新しい MyProj.Web.Reports.Rep1(par1); }

于 2010-12-24T19:37:19.967 に答える
1

iframe を直接インクルードするのではなく、Web フォーム ビットに追加します。コンポーネントによっては、iframe が壊れる可能性がたくさんあります。次に、クエリ文字列を介して値を渡すことができます。

于 2010-12-24T17:55:05.343 に答える