我在VS2008上有MVC 1.0应用程序。
我的网页包含搜索表单字段,然后点击搜索按钮时使用 Ajax.BeginForm在div中加载结果。效果很棒!
但是结果有一个寻呼机只使用一个锚点,其中href将页面索引传递给控制器动作。
当然,单击搜索按钮时使用的操作相同。
所以会发生什么,结果会自动显示在新页面中。因为链接 没有使用Ajax调用。
那么我如何构建我的视图和动作,以便在寻呼机中单击链接时 表单是否已提交给操作以及结果的页面索引?
你了解我吗?
马尔科姆
答案 0 :(得分:1)
我想我明白你在说什么。
目前,您正在使用Ajax将结果动态更新为div。 KEWL。
这里的技巧是确保寻呼机中的每个“页面”都具有在onclick事件上定义的类似javascript函数。这样,寻呼机不会对服务器进行“回发”,但是运行了javascript方法...它调用了一些ajax。
这里有一些示例html ...
<a href="#" onclick="DoPagedSearch(1)>1</a> |
<a href="#" onclick="DoPagedSearch(2)>2</a> .. etc
这样做了吗?确保寻呼机不在表格内并注意'#'字符?这确保当你点击文本时,它不会尝试在其他地方转到另一个HTML页面。
你知道如何将任何javascript连接到html元素吗?你如何为寻呼机创建html代码?
试试并告诉我们。
答案 1 :(得分:1)
使用jquery让页面锚点对控制器进行ajax调用。将结果返回为JSON或xhtml或任何使您感到满意的格式,并使用它来替换div的内容,或者在JSON中构建和替换内容。
如果你还没有挖到jquery,我高度推荐它。文档非常好。让我为您提供一些有用的链接:
fair example of using jquery for paging
该示例使用rss feed(xml)作为源,但它应该让你去。