0

私のindex.aspxページで、renderpartialを使用して別のmodule.aspxページをレンダリングしたいのですが、次に、index.aspxから渡されるパラメーターに依存する.htmファイルをレンダリングします(番号、つまり1,2などになります。パラメータに応じて毎回異なる.htmファイル)

1)。ここで、Index.aspxページでmodule.aspxをレンダリングし、パラメーター(1,2,3など)[パラメーターはプログラムで渡されます(ハードコードされた)]および2)を渡します。mudule.aspxはパラメータをキャッチする必要があり、それに応じて.htmファイルを呼び出します

私のindex.aspxには

  <% ViewData["TemplateId"] = 1; %>
  <% Html.RenderPartial("/Views/Templates/MyModule.aspx", ViewData["TemplateId"]); %>

およびmodule.aspxには

 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<script type="text/javascript" src="/Scripts/jquery-1.3.2.js"></script>
<script type="text/javascript" src="/Scripts/Service.js"></script> 

<script type="text/javascript">


        debugger;
        var tid = '<%=ViewData["TemplateId"] %>';

        $.get("/Templates/Select/" + tid, function(result) {
            $("#datashow").html(result);
        });



</script>

<div id="datashow"></div> 

これは$.get(....)によって呼び出される私のコントローラーです(コードを参照)

public ActionResult Select(int id)
    {
        return File("/Views/Templates/HTML_Temp" +id.ToString()+".htm" , "text/html");

    }

そして最後に私の.htmファイル

<div  id="divdata" class="sys-template">
<p>Event Title:<input  id="title"  size="150" type="text" 
        style="background-color:yellow;font-size:25px;width: 637px;"  
        readonly="readonly" value="{{title}}" />
    </p>   


<p>Event Description:<input type="text" id="description" value="{{ description }}"  
    readonly="readonly" style="width: 312px" /></p>

<p>Event Date: <input type="text" id="date" value="{{ date }}" readonly="readonly" 
        style="width: 251px"/></p>
<p>Keywords : <input type="text" id="keywords" value="{{keywords}}" readonly="readonly" /></p>
   </div>

<script type="text/javascript">
    Sys.Application.add_init(appInit);
    function appInit() {
        start();
    }
</script>

start()は、Service.jsファイルにあるjavascriptメソッドです。

このプログラムを実行すると、エラーjsランタイムエラーが発生します:「オブジェクトが必要です」とデバッガーが強調表示されます

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/**xhtml**1-strict.dtd">

plsは私が問題を解決するのに役立ちます

4

2 に答える 2

1

<% Html.RenderPartial("/Views/Templates/MyModule.ascx", Model); %> Model を使用して部分ビュー MyModule.ascx に値を渡すには、次のように使用します。メソッド Html.RenderAction を使用することもできます

于 2011-11-02T20:09:29.487 に答える
1

RenderPartialを使用すると、デフォルトで Index.aspx のモデルが渡されます。その後、部分ビューを同じタイプにすることができます。その後、Model.MyParameter を使用して、レンダリングする必要がある htm ファイルを見つけることができます。それ以外の場合は、RenderPartial の object パラメーターでそれを渡し、部分ビュー内でそのオブジェクトをクエリできます。

于 2009-12-07T05:25:21.683 に答える