【发布时间】:2020-07-15 15:36:54
【问题描述】:
我正在使用 asp.net 创建一个网站。我能够获取数据并将其存储在 TempData 中,但是当我在视图中显示它时,id 和主题显示为空白。
我在调试中检查了数据库中的数据是否正确,并且它也存储在临时数据中。问题是主题和 id 没有显示在视图中。
id 是 PK 和 int 并且 email_subject 为 null 是否会导致问题,因为我能够显示其他列。
如果是,请告诉我为什么?
在我看来代码是..
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
@{
Html.BeginForm();
@Html.Label("Email_Subject", "Email_Subject : ")
<h3> @TempData["email_subject"]</h3>
<br />
@Html.Label("Body", "Body : ")
<h3> @TempData["body"] </h3>
<br />
@Html.Label("Predicted", "Predicted : ")
<h3> @TempData["intent"]</h3>
<br />
<input type="Submit" name="Correctornot" value="Correct" />
<input type="Submit" name="Correctornot" value="Not Correct" />
<br />
Html.EndForm();
}
我的控制器中的代码是...
[HttpGet]
public ActionResult Index()
{
string connstr = connection string ;
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand(" Select top(1) Id , Body , Email_subject , Queue , Intent , Tagging FROM [dbo].[Labeler_Email_for_Confirmation] ");
cmd.CommandType = System.Data.CommandType.Text;
cmd.Connection = conn;
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
var Did = reader["Id"].ToString();
TempData["id "] = Int64.Parse(Did);
TempData["email_subject "] = reader["Email_subject"].ToString();
TempData["body"] = reader["Body"].ToString();
TempData["intent"] = reader["Intent"].ToString();
TempData["queue"] = reader["Queue"].ToString();
TempData["tagging"] = reader["Tagging"].ToString();
}
conn.Close();
TempData.Keep();
return View();
}
【问题讨论】:
-
请查看minimal reproducible example 发布代码指南。如果不查看您实际渲染的内容以及实际数据是什么,就无法知道为什么某些内容不会渲染。确保在edit 问题时内联代码示例中的所有必要数据。
-
我已经用渲染中使用的所需代码的 sn-ps 编辑了这个问题。
标签: c# asp.net sql-server tempdata