передача параметров на страницу .aspx с использованием renderpartial - PullRequest
0 голосов
/ 07 декабря 2009

на моей странице index.aspx я хочу отобразить другую страницу module.aspx, используя renderpartial который затем отображает .htm файл отмена того, какой параметр передан из index.aspx (это будет число, т.е. 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 () - это метод javascript, который находится в файле Service.js

когда я запускаю эту программу, она выдает ошибку JS ошибка во время выполнения: «объект ожидается» и отладчик выделены на

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

Пожалуйста, помогите мне решить проблему

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Используйте вот так <% Html.RenderPartial("/Views/Templates/MyModule.ascx", Model); %> для передачи значений с использованием Model в частичное представление MyModule.ascx. Вы также можете использовать метод Html.RenderAction

1 голос
/ 07 декабря 2009

Когда вы используете RenderPartial , вы по умолчанию передаете Модель вашего Index.aspx. Ваш частичный вид может быть того же типа. Затем вы можете использовать Model.MyParameter, чтобы узнать, какой htm-файл вы должны рендерить. В противном случае вы можете передать его в параметре объекта RenderPartial и запросить этот объект внутри вашего частичного представления.

...