Пользовательские элементы управления MVC + ViewData

4 ответа

Если я понимаю Ваш вопрос, Вы пытаетесь передать ViewData в пользовательский элемент управления. Пользовательский элемент управления является по существу частичным представлением, таким образом, Вы сделали бы это:

<% Html.RenderPartial("someUserControl.ascx", viewData); %>

Теперь в Вашем usercontrol, ViewData будет тем, в чем Вы передали...

8
ответ дан 4 December 2019 в 21:52
поделиться

Хорошо здесь это идет - Мы используем данные Json

На aspx странице у нас есть вызов ajax, который называет контроллер. Ищите параметры доступного варианта для вызовов ajax.

URL: Это вызывает функцию в классе. (очевидно), Нашим именем класса является JobController, имя функции является updateJob, и это не берет параметров. URL отбрасывает controllerPortion от имени класса. Например, для вызывания updateJob функции URL был бы '/Job/UpdateJob / '.

var data = {x:1, y:2};
$.ajax({
data: data,
cache: false,
url: '/ClassName/functionName/parameter',
dataType: "json",
type: "post",
success: function(result) {
//do something
},
error: function(errorData) {
alert(errorData.responseText);
}
}
);

В классе JobController:

public ActionResult UpdateJob(string id)
{
   string x_Value_from_ajax = Request.Form["x"];
   string y_Value_from_ajax = Request.Form["y"];
   return Json(dataContextClass.UpdateJob(x_Value_from_ajax, y_Value_from_ajax));
}

У нас есть страница Global.asax.cs, которая отображает вызовы ajax.

public class GlobalApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Default",                 // Route name
    "{controller}/{action}/{id}",     // URL with parameters
        new { controller = "EnterTime", action = "Index", id = "" }  // Parameter defaults  (EnterTime is our default controller class, index is our default function and it takes no parameters.)
    );
  }
}

Я надеюсь, что это получает Вас от к хорошему началу.Удачи

1
ответ дан 4 December 2019 в 21:52
поделиться

Я - вполне уверенные данные представления, доступные внутренние пользовательские элементы управления, пока Вы расширяете Систему. Сеть. Mvc. ViewUserControl и передача это в. У меня есть отрывок кода:

<%Html.RenderPartial("~/UserControls/CategoryChooser.ascx", ViewData);%>

и из моего CategoryChooser ViewData доступно.

0
ответ дан 4 December 2019 в 21:52
поделиться

Не уверенный, если я понимаю Вашу проблему полностью, но здесь являюсь моим ответом на, "Как добавить Пользовательский элемент управления к Вашему Проекту MVC ASP.NET".

В Visual Studio 2008 можно выбрать Add Item. В категориях в левой стороне можно выбрать Visual C#> Web> MVC. Существует опция MVC View User Control. Выберите его, выберите имя, выберите желаемую основную страницу, и Вы хороши пойти.

0
ответ дан 4 December 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: