asp.net-mvc - MVCController 数据不持久
问题描述
我正在使用 Visual Studio 2019。我在使用控制器方法时遇到了一些问题。
我的控制器中有一个简单的方法Index
。在页面加载期间,Index
执行正常工作。成功获取所有经销商数据。
这段代码工作得很好:
public ActionResult Index(int? page=1)
{
int PageSize = 30;
int skip = PageSize * (page.GetValueOrDefault() - 1);
var Data = GetDealersData(PageSize, skip);
Data.PageSize = PageSize;
TempData["currentPageIndex"] = page.GetValueOrDefault();
TempData["PageSize"] = PageSize;
TempData["Total"] = Data.Total;
return View(Data.Data.ToPagedList(page.GetValueOrDefault(),PageSize, Data.Total));
}
我有一个文本框并将它的值传递给我的Index
ActionResult:
@using (Html.BeginForm("Index", "Dealer",FormMethod.Post))
{
<input type="text" value="" name="txtDealer" placeholder="Search Dealers by Name, City or State" />
<img src="/assets/images/search.png" class="search-icon">
}
后面的代码:
[HttpPost]
public ActionResult Index(string txtDealer,int? page = 1)
{
string searchDetails = txtDealer;
int PageSize = 30;
int skip = PageSize * (page.GetValueOrDefault() - 1);
var Data = GetDealersDataByName(PageSize, skip, searchDetails);
Data.PageSize = PageSize;
TempData["currentPageIndex"] = page.GetValueOrDefault();
TempData["PageSize"] = PageSize;
TempData["Total"] = Data.Total;
return View(Data.Data.ToPagedList(page.GetValueOrDefault(), PageSize, Data.Total));
}
现在,问题来了,来自搜索文本框的数据是从 Web API 获取的。但是由于页面刷新,我的页面完全为空。
如何持久化数据,所以在我的页面上显示搜索到的经销商的结果,在同一页面(Index.cshtml
)?
解决方案
您不需要发布请求,但无论如何,您可以添加TempData["searchName"] = txtDealer;
或不使用您的发布功能,我们将发布数据用于敏感数据而不是用于搜索,您只能使用获取功能并添加参数 txtDealer 。
推荐阅读
- mysql - SQL - 如何根据另一个最大值选择一个值?
- r - devtools::install() 有效,但 devtools::check() 无效
- algorithm - 读取和写入同一通道的工作池
- node.js - 如何将数据传递给 Express 路由器(并同时更改 url)
- scala - 将简单函数移出 UDF 时任务不可序列化
- r - 匹配无循环的家庭伙伴
- java - Log4j2 回滚后总是写入同一个文件
- python - Python - 解决 Tweepy 的命令行错误
- java - Android Volley 错误:com.android.volley.ClientError
- regex - VBA使用正则表达式查找具有值范围的字符串并替换为该范围内的每个值