2010-05-18 93 views
1

我有一些自定义标记(a'la bbcode,但而不是 bbcode)的渲染逻辑。所以,当我从DB获取的东西,然后调用MyRender.ToHTML(model.text)...服务器端的自定义渲染逻辑+ MVC + Ajax

现在我今天做的是我只是有一个表格,我做一个职位,并添加该项目并返回相同的视图。我的问题是 - 如何用ajax做到这一点?我应该创建一个控件并返回HTML a'la winforms?那是性感吗?你如何做这样的事情?或者我应该放弃它?也许重复渲染逻辑与JavaScript?

回答

1

使用jQuery是完成此操作的最简单方法。这将与MVC的工作方式:

1 =>抓住形式使用jQuery提交

$('#id_of_form').submit(function() { 
    // do stuff 

    // at the end, prevent the normal submit 
    return false; 
});

2 =>发送表单数据到您的控制器,如:

// 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-like-code一起格式化。之后你回显/显示格式化文本。

调用your_controller.asp(本例中应该是格式化文本)后返回的所有内容都将存储在变量data中。然后,您可以使用该数据并告诉jQuery将其添加到特定元素的页面中(例如,显示您所发布内容的表单下方的div):

// do stuff with the returned data 
$('#id_of_result_element').html(data);