Это для школьного проекта, и я не совсем понимаю, что я должен делать, поэтому я объясню, что сказал мне учитель и что я сделал до сих пор, надеюсь вы, ребята, можете помочь. Чтобы проверить успех программы, учитель хочет вручную добавить номер к URL-адресу страницы. Мне нужно взять это число, извлечь его из URL-адреса, а затем внедрить его в метод, чтобы он расшифровал сообщение с тем же идентификационным номером (я не знаю, как он намеревается это сделать или активирует упомянутый метод). Вот что я писал: В DataModel:Извлечь объект из URL-адреса в mvc
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, потому что это учитель сказал мне, если он ничего не напишет или что-то еще. На самом деле, я понятия не имею, что он хочет от меня. Так что мне нужно изменить в URL-адресе, чтобы заставить его работать? –
Да, добавив {имя_контроллера}/singlmsgdecrptn/{id}, вы вызовете свой метод, передающий идентификатор переменной. Использование nullable int означает, что этот метод будет вызван, будут ли они содержать int или нет (null) в строке URL. Предполагая, что у вас нет другого метода с тем же именем, который не требуется. Поэтому, если введенное значение ID не будет введено, метод все равно будет запущен и предоставит null методу GetMessage. Я не могу сказать, является ли это неправильным или нет, поскольку я не знаю, какими должны быть результаты. – Dillon