0
這是一個學校項目,我並不真正明白我應該做什麼,所以我會解釋老師告訴我的和我到目前爲止做了什麼,希望你們可以幫忙。 爲了檢查程序是否成功,教師希望手動向頁面的網址添加一個數字。 我需要採取這個數字,從網址中提取它,然後植入它的方法,以便它將解密具有相同ID號碼的消息(我不知道他打算如何執行或激活所述方法)。 這裏是我寫的: 在數據模型:從mvc中的URL中檢索對象
public static void GetMessage (int? MesNum, out string MesSuc)
{
SqlConnection cnctn = new SqlConnection(cnctnstrng);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = cnctn;
cmd.CommandText = "GetMessage";
cmd.Parameters.Add("@LineNum", SqlDbType.Int);
SqlDataReader rd;
try
{
cnctn.Open();
cmd.Parameters["@LineNum"].Value = MesNum;
rd = cmd.ExecuteReader();
byte[] Message = (byte[])rd["MessageText"];
if (Message != null)
{
MesSuc = chat.Models.DomainModels.Security.DecryptStringFromBytes(Message);
}
else
{
MesSuc = "Unable to decrypt Message";
}
}
catch
{
MesSuc = "Unable to decrypt Message";
}
finally
{
cnctn.Close();
}
}
在控制器:
public ActionResult singlmsgdecrptn()
{
string MesSuc;
chat.Models.DataModels.userdbmanip.GetMessage(*?*, out MesSuc);
return View(MesSuc);
}
的?是其中數字應該進來 在景觀:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>singlmsgdecrptn</title>
</head>
<body>
<div>
@ViewBag.MesSuc
</div>
</body>
</html>
好吧,現在我只需手動添加一個數字到URL的末尾?如果我按下輸入它應該啓動該方法? –
哦,我正在使用一個空的int,因爲這是老師讓我做的事,以防他不會寫任何東西。真的,我不知道他想讓我做什麼。 那麼,我需要改變的網址,使其工作? –
是的,添加{controllerName}/singlmsgdecrptn/{id}會調用您的方法將id提供給變量。使用可空的int意味着將調用此方法,無論它們是否在URL字符串中提供int或not(null)。假設你沒有另一個同名的方法不需要。因此,如果沒有輸入ID值,該方法仍然會運行併爲GetMessage方法提供一個空值。我不能說這是不是不正確或不正確,因爲我不知道結果應該是什麼。 – Dillon