我有一些自定义标记的渲染逻辑(a'la bbcode,但不是 bbcode)。因此,当我从DB获取内容时,我会调用MyRender.ToHTML(model.text)......
现在我今天做的是我只有一个下面的表格,我做了一个帖子并添加项目并返回相同的视图。我的问题是 - 如何用ajax做到这一点?我应该创建一个控件并返回HTML a'la winforms吗?那性感吗?你怎么做那样的?或者我应该放弃它?也许用javascript复制渲染逻辑?
答案 0 :(得分:1)
使用jQuery是实现此目的的最简单方法。与MVC一起使用的方式:
1 =>使用jQuery抓取表单提交
$('#id_of_form').submit(function() {
// do stuff
// at the end, prevent the normal submit
return false;
});
2 =>将表单数据发送到Controller,例如:
// do stuff
$.post('your_controller.asp', $(this).serialize(), function(data) {
// do stuff with the returned data
});
有关其工作原理的更多信息:http://api.jquery.com/jQuery.post/
3 =>在您的控制器中,您会看到表单已提交,您将数据发送到处理它的模型。然后,Controller使用类似bb的代码获取提交的文本并对其进行格式化。之后,您回显/显示格式化文本。
在调用your_controller.asp
之后返回的所有内容(在这种情况下应该是格式化的文本)将存储在变量data
中。然后,您可以使用该数据并告诉jQuery将其添加到特定元素中的页面(例如显示您发布内容的表单下方的div
):
// do stuff with the returned data
$('#id_of_result_element').html(data);