mvc存储​​用户输入的最佳实践

时间:2015-07-30 13:33:33

标签: asp.net-mvc

这是mvc项目。我在第一页上有一个html表来列出搜索结果,页面顶部有两个过滤器,一个是文本框,另一个是下拉列表。在表中,有一个名为view的列。这是一个链接。从链接中,您将转到详细信息页面。当您返回第一页时,文本框和下拉列表将丢失用户之前输入的值。我希望他们可以保持用户的输入。对于webform,它很容易。我可以将它们放到会话或视图状态。但是在mvc中,我应该在哪里存储值,何时返回可以加载这些值?会话还是tempdata?感谢

1 个答案:

答案 0 :(得分:0)

您可以在会话中存储所有选择和数据。但是为了提高速度,你可以像斯蒂芬提到的那样用ajax调用进行搜索。

尝试使用jquery.get()方法使用ajax调用加载数据。此方法向页面发送带/不带数据的请求并读取响应。响应是渲染的html。您可以在https://api.jquery.com/jquery.get/

找到更多信息

假设您的控制器上有一个接受2个参数的PartialView操作。

public PartialViewResult Search(string txt, string dropdown)
{
 // do your search
return PartialView(YourModel);
}

在您的javascript代码中执行以下操作

$.get('/Home/Search',{txt:'yourTextboxValue',dropdown:'YourDropdownValue'},function(data){
 // data is the html response that generated in partial view
$('#yourSearchContentDiv').html(data);
});