Как добавить частичные с помощью jquery?Бритва - asp.net mvc - Jquery - PullRequest
0 голосов
/ 03 марта 2011

Скажем, я хочу создать форму, которая позволит вам динамически добавлять элементы через javascript ... например, проект с множеством задач ...

$("#add_task").click(function () {
            $('#tasks').append('@Html.Raw(Html.Partial("_task_fields").ToHtmlString())');
        });

Кажется, у меня проблемы с этим подходом, потому что JavaScript не закодирован ... и использование HttpUtility.JavaScriptStringEncode добавляет дополнительные кавычки к элементам, которые имеют, например, такие атрибуты, как класс «someClass».

мой частичный файл task_fields выглядит примерно так

<tr>
     <td>
         Task
     </td>
     <td>
        <input type="text" name="task[name]" />
     </td>
</tr>

Я просто хочу, чтобы ссылка add_task работала правильно.

Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 04 марта 2011

Хорошо.Вы сделаете это, но немного по-другому.Записывать действие в контроллер вместо частичного.

public class HomeController : Controller
{
        public ActionResult MyPartial(/*some parameters*/)
        {
            object someData = foo(/*some parameters*/);
            return PartialView("_MyPartial", someData);
        }
}

**And call action with Ajax.**

$("#add_task").click(function () {
$('#taskItem').load(@Url.Content("~/home/MyPartial"));
....
})

Конечно, вы можете добавить в «задачу» после загруженного «taskItem».

0 голосов
/ 03 марта 2011

Взгляните на jquery jquery template плагин. Это другой, но более чистый подход IMO для этого сценария.

Помимо использования подхода только с шаблоном jquery, вы также можете визуализировать частичное в блок шаблона jquery и объединить обе технологии таким образом, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...