C# 从httpPost查找id为的数据
我制作了一个HttpPost:C# 从httpPost查找id为的数据,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我制作了一个HttpPost: [HttpPost] public IActionResult PokemonDetails(int PokemonId) { return PartialView("_PokemonDetails"); } 我想在http中查找Id中的所有数据。 数据在我的控制器中: public IActionResult Index() { #region ListeDesPokemons var pokemonList = new List&l
[HttpPost]
public IActionResult PokemonDetails(int PokemonId)
{
return PartialView("_PokemonDetails");
}
我想在http中查找Id中的所有数据。
数据在我的控制器中:
public IActionResult Index()
{
#region ListeDesPokemons
var pokemonList = new List<PokemonModel>();
var Id = 1;
var Img = 1;
pokemonList.Add(new PokemonModel() { Id = Id++, Name = "Bulbizarre", UsName = "Bulbasaur(us)", JpName = "フシギダネ(jp)", Type1 = "Plante", Type2 = "Poison", Rate = 45, Image = "https://eternia.fr/public/media/pokedex/artworks/00" + Img++ + ".png" });
pokemonList.Add(new PokemonModel() { Id = Id++, Name = "Herbizarre", UsName = "Ivysaur(us)", JpName = "フシギソウ(jp)", Type1 = "Plante", Type2 = "Poison", Rate = 45, Image = "https://eternia.fr/public/media/pokedex/artworks/00" + Img++ + ".png" });
#endregion
var model = new PokemonViewModel();
model.Pokemons = pokemonList;
ViewBag.TotalPokemon1G = pokemonList.Count;
return View(model);
}
public IActionResult Index()
{
#区域李斯特波克蒙斯
var pokemonList=新列表();
var-Id=1;
var-Img=1;
添加(新的pokemonodel(){Id=Id++,Name=“bulbazarre”,UsName=“Bulbasaur(us)”,JpName=”フシギダネ(jp)”,Type1=“植物”,Type2=“毒药”,速率=45,图像=https://eternia.fr/public/media/pokedex/artworks/00“+Img++.png”});
添加(新的pokemonodel(){Id=Id++,Name=“Herbizarre”,UsName=“Ivysaur(us)”,JpName=”フシギソウ(jp)”,Type1=“植物”,Type2=“毒药”,速率=45,图像=https://eternia.fr/public/media/pokedex/artworks/00“+Img++.png”});
#端区
var model=new PokemonViewModel();
model.Pokemons=pokemonList;
ViewBag.TotalPokemon1G=pokemonList.Count;
返回视图(模型);
}
从id中找到好的数据谢谢。
我还没有实体。您可以使用LINQ在列表中查询所需的Id
int PokemonId = 2; // input from http post
var result = pokemonList.FirstOrDefault(p => p.Id == PokemonId);
您可以使用
TempData
跨不同的请求传递数据。用于将数据从当前请求传递到后续请求(表示从一个页面重定向到另一个页面)。它的生命非常短暂,只有在目标视图完全加载后才会停止。但可以通过调用Keep()方法将数据持久化到TempData中
这里是一个简单的工作演示
型号:
public class PokemonModel
{
public int Id { get; set; }
public string Name { get; set; }
public string UsName { get; set; }
public string JpName { get; set; }
public string Type1 { get; set; }
public string Type2 { get; set; }
public int Rate { get; set; }
public string Image { get; set; }
}
public class PokemonViewModel
{
public List<PokemonModel> Pokemons { get; set; }
}
public类PokemonModel
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共字符串UsName{get;set;}
公共字符串JpName{get;set;}
公共字符串类型1{get;set;}
公共字符串类型2{get;set;}
公共整数速率{get;set;}
公共字符串图像{get;set;}
}
公共类PokemonViewModel
{
公共列表口袋妖怪{get;set;}
}
控制器:
public IActionResult PokemonList()
{
#region ListeDesPokemons
var pokemonList = new List<PokemonModel>();
var Id = 1;
var Img = 1;
pokemonList.Add(new PokemonModel() { Id = Id++, Name = "Bulbizarre", UsName = "Bulbasaur(us)", JpName = "フシギダネ(jp)", Type1 = "Plante", Type2 = "Poison", Rate = 45, Image = "https://eternia.fr/public/media/pokedex/artworks/00" + Img++ + ".png" });
pokemonList.Add(new PokemonModel() { Id = Id++, Name = "Herbizarre", UsName = "Ivysaur(us)", JpName = "フシギソウ(jp)", Type1 = "Plante", Type2 = "Poison", Rate = 45, Image = "https://eternia.fr/public/media/pokedex/artworks/00" + Img++ + ".png" });
#endregion
var model = new PokemonViewModel();
model.Pokemons = pokemonList;
var json = JsonConvert.SerializeObject(pokemonList);
TempData["pokemonJson"] = json;
ViewBag.TotalPokemon1G = pokemonList.Count;
return View(model);
}
[HttpPost]
public IActionResult PokemonDetails(int PokemonId)
{
var pokemonJson = TempData["pokemonJson"].ToString();
TempData.Keep("pokemonJson");
var pokemonList = JsonConvert.DeserializeObject<List<PokemonModel>>(pokemonJson);
var pokemon = pokemonList.SingleOrDefault(p => p.Id == PokemonId);
return PartialView("_PokemonDetails",pokemon);
}
public IActionResult PokemonList()
{
#区域李斯特波克蒙斯
var pokemonList=新列表();
var-Id=1;
var-Img=1;
添加(新的pokemonodel(){Id=Id++,Name=“bulbazarre”,UsName=“Bulbasaur(us)”,JpName=”フシギダネ(jp)”,Type1=“植物”,Type2=“毒药”,速率=45,图像=https://eternia.fr/public/media/pokedex/artworks/00“+Img++.png”});
添加(新的pokemonodel(){Id=Id++,Name=“Herbizarre”,UsName=“Ivysaur(us)”,JpName=”フシギソウ(jp)”,Type1=“植物”,Type2=“毒药”,速率=45,图像=https://eternia.fr/public/media/pokedex/artworks/00“+Img++.png”});
#端区
var model=new PokemonViewModel();
model.Pokemons=pokemonList;
var json=JsonConvert.SerializeObject(pokemonList);
TempData[“口袋妖怪”]=json;
ViewBag.TotalPokemon1G=pokemonList.Count;
返回视图(模型);
}
[HttpPost]
公共IActionResult PokemonDetails(int PokemonId)
{
var pokemonJson=TempData[“pokemonJson”].ToString();
TempData.Keep(“口袋妖怪”);
var pokemonList=JsonConvert.DeserializeObject(pokemonJson);
var pokemon=pokemonList.SingleOrDefault(p=>p.Id==PokemonId);
返回PartialView(“_PokemonDetails”,pokemon);
}
视图:
@model WebApplication1.Models.PokemonViewModel
@Html.DisplayNameFor(model=>model.Pokemons[0].Name)
@DisplayNameFor(model=>model.Pokemons[0].JpName)
@DisplayNameFor(model=>model.Pokemons[0].UsName)
@foreach(Model.Pokemons中的var项)
{
@DisplayFor(modelItem=>item.Name)
@DisplayFor(modelItem=>item.JpName)
@DisplayFor(modelItem=>item.UsName)
}
@节脚本{
$(“.btnclick”)。单击(函数(){
var id=$(this.closest(“td”).find(“input”).val();
$.ajax({
类型:“post”,
url:“/Home/PokemonDetails?PokemonId=“+id,
成功:功能(结果){
$(“#口袋妖怪”).html(结果);
}
});
});
}
局部视图
@model WebApplication1.Models.PokemonModel
<div>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Id)
</dt>
<dd>
@Html.DisplayFor(model => model.Id)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Name)
</dt>
<dd>
@Html.DisplayFor(model => model.Name)
</dd>
<dt>
@Html.DisplayNameFor(model => model.JpName)
</dt>
<dd>
@Html.DisplayFor(model => model.JpName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.UsName)
</dt>
<dd>
@Html.DisplayFor(model => model.UsName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Type1)
</dt>
<dd>
@Html.DisplayFor(model => model.Type1)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Type2)
</dt>
<dd>
@Html.DisplayFor(model => model.Type2)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Rate)
</dt>
<dd>
@Html.DisplayFor(model => model.Rate)
</dd>
</dl>
</div>
@model WebApplication1.Models.PokemonModel
@DisplayNameFor(model=>model.Id)
@DisplayFor(model=>model.Id)
@DisplayNameFor(model=>model.Name)
@DisplayFor(model=>model.Name)
@DisplayNameFor(model=>model.JpName)
@DisplayFor(model=>model.JpName)
@DisplayNameFor(model=>model.UsName)
@DisplayFor(model=>model.UsName)
@DisplayNameFor(model=>model.Type1)
@DisplayFor(model=>model.Type1)
@DisplayNameFor(model=>model.Type2)
@DisplayFor(model=>model.Type2)
@DisplayNameFor(model=>model.Rate)
@DisplayFor(model=>model.Rate)
好的,我做了,这是答案
我的控制器:
public IActionResult Index()
{
#区域李斯特波克蒙斯
var pokemonList=新列表();
var-Id=1;
var-Img=1;
添加(新的pokemonodel(){Id=Id++,Name=“bulbazarre”,UsName=“Bulbasaur(us)”,JpName=”フシギダネ(jp)”,Type1=“植物”,Type2=“毒药”,速率=45,图像=https://eternia.fr/public/media/pokedex/artworks/00“+Img++.png”});
添加(新的pokemonodel(){Id=Id++,Name=“Herbizarre”,UsName=“Ivysaur(us)”,JpName=”フシギソウ(jp)”,Type1=“植物”,Type2=“毒药”,速率=45,图像=https://eternia.fr/public/media/pokedex/artworks/00“+Img++.png”});
@model WebApplication1.Models.PokemonModel
<div>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Id)
</dt>
<dd>
@Html.DisplayFor(model => model.Id)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Name)
</dt>
<dd>
@Html.DisplayFor(model => model.Name)
</dd>
<dt>
@Html.DisplayNameFor(model => model.JpName)
</dt>
<dd>
@Html.DisplayFor(model => model.JpName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.UsName)
</dt>
<dd>
@Html.DisplayFor(model => model.UsName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Type1)
</dt>
<dd>
@Html.DisplayFor(model => model.Type1)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Type2)
</dt>
<dd>
@Html.DisplayFor(model => model.Type2)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Rate)
</dt>
<dd>
@Html.DisplayFor(model => model.Rate)
</dd>
</dl>
</div>
[HttpPost]
public IActionResult PokemonDetails(int pokemonId)
{ // add break point here