Чао Марко,
Теперь проблема в том, что мой частичный
view (CreatePost.ascx) принимает
System.Web.Mvc.ViewUserControl
и я не уверен, как передать это от
все мои взгляды выше.
Я не уверен, что понимаю, что вы подразумеваете под " как передать это из всех моих представлений выше ", но я уверен, что вам не нужно передавать экземпляр Post из ваших представлений. Что происходит, так это то, что из ваших представлений вы вызываете действие контроллера, которое создает объект модели Post, а затем связываете его с частичным CreatePost.ascx.
Я также не знаю, как отправить
Значения .ascx для определенного URL-адреса (т.е.
/ Topics / 1 / CreatePost), как мне сказать
кнопку отправки для публикации на этот URL?
У вас есть два варианта:
Внутри вашей части CreatePost.ascx вы, вероятно, используете форму.
<% using (Html.BeginForm("action", "controller", FormMethod.Post, new {} )) { %>
Если вы используете способ, которым я показываю, вы можете изменить первый и второй параметры соответственно на имена Действие и Контроллер, которые будут мешать вашему представлению.
Второй вариант - использование jQuery. Просто установите идентификатор для вашей формы, а затем
$("#myForm").submit(function(event) {
//post an ajax request to the server
});
Надеюсь, это поможет!
P.S. Чтобы иметь возможность многократно использовать ваш CreatePost.ascx, поместите его в папку общего доступа (где находится ваша главная страница).