ASP.NET MVC и относительные пути RenderPartial w/

Вы можете просто пропустить переключатель флажка, если щелкнул элемент, был флажок.

//Generate dynamically div row encompassing checkbox and label
$('#wraper').append(`
<div id="row">
	<label>This is the checkbox</label>
  <input type="checkbox"></input>
</div>
<br>
<span class="msg"></span>
`);
//Attach delegated event listener to entire row
$('#wraper').on('click', '#row', function(e) {
  var $checkbox = $('#row [type="checkbox"]').eq(0);
  
  //Toggle checked attribute
  if (!$checkbox.is(e.target)) {
    $checkbox.prop('checked', !$checkbox.prop('checked'));
  }
  
  //Display checked status after click
  $('#wraper .msg').text(`Checkbox status is ${$checkbox.prop('checked')}`);
});
<!doctype html>
<html>

<head>
  <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>

<body>
  <div id="wraper"></div>
</body>

</html>

11
задан Itai Bar-Haim 4 May 2016 в 11:41
поделиться

3 ответа

Поскольку я называл RenderAction () от представления в продукте

...

Я не понимаю, почему я должен был указать полный путь представления. Имело бы смысл мне для относительного имени интерпретироваться относительно пути текущего представления, а не пути представления исходного контроллера

Первая часть думает, что Вы неправильно понимаете, "местоположение выполнения" из-за отсутствия лучшего или официального термина. Пути не относительно Вашего представления, даже представления Вашего "контроллера", как Вы выразились. Они относительно Вашего URL запроса, который определяет контекст контроллера. Я не могу говорить это очень хорошо, но если Вы провели немного времени в Отражателе, выглядящем на то, как URL и маршруты разрешены, я думаю, что это было бы всю осень в место в Вашей голове.

5
ответ дан 3 December 2019 в 09:42
поделиться

От рассмотрения MVCStoreFront выбирают, это - то, как им структурировали все для вызова RenderPartial

Views
    Shared
        ProductSingle
        ProductList
        ArticleSingle
        ArticleList

Затем представьте их через:

<% Html.RenderPartial("ProductSingle", ViewData["ProductList"]); %>
<% Html.RenderPartial("ProductList", product); %>
<% Html.RenderPartial("ArticleSingle", article); %>
<% Html.RenderPartial("ArticleList", ViewData["ArticleList"]); %>
2
ответ дан 3 December 2019 в 09:42
поделиться

[редактирование:

Я думал, у Вас есть 2 случая:

  • Домашний контроллер является единственным что когда-либо ссылочный продукт / пользовательский элемент управления Списка Статей
  • пользовательские элементы управления совместно используются несколькими контроллерами

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

В любом случае возможно, можно разместить их в sub папку. Как Представления/Дом/Продукты и затем пробуют RendarPartial ("продукт / Единственный") и видят то, что происходит? Я не знаю, попыталось ли это разрешить его к: дом/Продукт/Единственный и затем общий/Продукт/Единственный или нет. Если sub папки работают, это, кажется, позволяет логическое разделение продукта и Статьи при показе, что они - все еще члены или Домашнего контроллера или Общий всеми контроллерами.

]

Проверьте эту запись в блоге Steve Sanderson:

http://blog.codeville.net/2008/10/14/partial-requests-in-aspnet-mvc/

То, что Вы делаете, не неправильно, но это действительно кажется виду, идут вразрез с конвенцией имен папок Представления/Контроллера. Тем не менее имеет смысл хотеть определить агностические контроллером пользовательские элементы управления представления, и вложение их кажется допустимым. Таким образом, я не знаю!

Так или иначе ссылка просто описывает метод вместо того, чтобы использовать RenderPartial для рендеринга управления использованием, это определяет метод RenderPartialRequest, который представляет возвращаемое значение (в случае пользовательский элемент управления) действия контроллера. Таким образом, Вы могли добавить продукт и контроллер Статей со Списком Действия, который возвращает Ваш пользовательский элемент управления, и затем назовите те два действия от представления Home/Index. Это кажется более интуитивным мне, но просто мнению.

Он также упоминает подконтроллеры от MVC Contrib, и я вполне уверен существует требование чего-то вроде этого, чтобы быть частью ASP.NET выпуск MVC.

4
ответ дан 3 December 2019 в 09:42
поделиться
Другие вопросы по тегам:

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