2016-08-25 8 views
0

Я новичок MVC. Я хотел бы передать параметр adminNo, но он всегда равен нулю. Я застрял в этой проблеме в течение последних нескольких дней.MVC Параметры передачи

Контроллер

public ActionResult PledgeForm(string adminNo) 
{ 
    var result = new StudentJournalQuery().GetStudentInfo(adminNo); 
    return View(result); 
} 

RouteConfig

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.MapRoute(
     name: "Default1", 
     url: "{controller}/{action}/{adminno}", 
     defaults: new { controller = "Home", action = "Index", adminno = UrlParameter.Optional } 
    ); 

ActionMethod

<a href="@Url.Action("PledgeForm", "ManageSipStudentJournal", new {adminNo = @Model.adminNo, area= string.Empty})">View Pledge Form</a> 

SQL Query Вот SQL-запрос

public StudentJournalSummary GetJournalSummary(string adminNo) 
{ 
    var StudentJournalSummary = new StudentJournalSummary(); 
    const string _CountSql = 
     @"select count(sjd.WeekNo) TotalWeek, sum(sj.TotalDaysRecord) TotalDaysRecord, count(case sjd.JournalStatusCode when 'D' then 1 else null end) PendingComplete from StudentJournalDate sjd left outer join 
     (select sj.WeekNo, 
     case when RTRIM(sj.Day1Journal) = '' or sj.Day1Journal is null then 0 else 1 end + 
     case when RTRIM(sj.Day2Journal) = '' or sj.Day2Journal is null then 0 else 1 end + 
     case when RTRIM(sj.Day3Journal) = '' or sj.Day3Journal is null then 0 else 1 end + 
     case when RTRIM(sj.Day4Journal) = '' or sj.Day4Journal is null then 0 else 1 end + 
     case when RTRIM(sj.Day5Journal) = '' or sj.Day5Journal is null then 0 else 1 end + 
     case when RTRIM(sj.Day6Journal) = '' or sj.Day6Journal is null then 0 else 1 end + 
     case when RTRIM(sj.Day7Journal) = '' or sj.Day7Journal is null then 0 else 1 end as TotalDaysRecord 
     from StudentJournal sj) as sj on sjd.WeekNo = sj.WeekNo"; 

    using (var connection = Db.SqlServer()) 
    { 
     StudentJournalSummary = connection 
     .Query<StudentJournalSummary>(_CountSql, new { adminNo }).FirstOrDefault(); 
    } 

    return StudentJournalSummary; 
} 
+0

Может быть, это опечатка. 'adminno' vs' adminNo' –

+0

Я меняю его на adminNo. Он по-прежнему недействителен. – user3807187

+0

Является ли 'Model.adminNo' значением, отличным от нуля? – Shyju

ответ

0

Вы забыли удалить @ в Model.adminNo не нужно becuase уже определяют в @ Url.Action

<a href="@Url.Action("PledgeForm", "ManageSipStudentJournal", new {adminNo = Model.adminNo, area= string.Empty})">View Pledge Form</a> 

 Смежные вопросы

  • Нет связанных вопросов^_^