私はC#mvcアプリケーションで作業しており、私のアプリケーションでこのjavascriptカレンダーを使用しています:http://fullcalendar.io/。私が見せている出来事は、裁判所審理です。コントローラを継承しないクラスでアクションリンクを作成するにはどうすればよいですか?
var obj = new
{
id = hearing.id,
title = string.Format("Hearing ({0} - {1}) in the case №{2}/{3}", hearing.HearingStart.Value.ToString("H:mm"), hearing.HearingEnd.Value.ToString("H:mm"), hearing.CaseNumber, hearing.CaseYear),
start = hearing.HearingStart.Value.ToString("yyyy-MM-dd HH:mm:ss"),
end = hearing.HearingEnd.Value.ToString("yyyy-MM-dd HH:mm:ss")
};
方法のこの行で:
title = string.Format("Hearing ({0} - {1}) in the case №{2}/{3}", hearing.HearingStart.Value.ToString("H:mm"), hearing.HearingEnd.Value.ToString("H:mm"), hearing.CaseNumber, hearing.CaseYear)
は私が指すようにcaseNumber ActionLinkのようにしたい。ここ法廷審問のための書類を作成し、私のサービスのメソッドの一部は、 http://93.152.175.226/Cases/Details/327688
私はgoogleとstackoverflow.comの例を探しましたが、ActionLinkをC#コードで(ビューではなくサービスメソッドで)使用するための正しい構文を示していますが、見つかりませんでした。ここで
は、コントローラのメソッドです: 公共のIEnumerable GetHearingsForJudgePanel(文字列ID、int型の月、int型の年、int型caseNumber、int型caseYear?) { :ここ
public ActionResult GetHearingsForJudgePanel(string id, int? month = null, int? year = null, int? caseNumber = null, int? caseYear = null)
{
if (!Request.IsAjaxRequest())
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
int currentMonth;
int currentYear;
DateTime currentDate = DateTime.Now;
EventService service = new EventService();
IEnumerable<object> data;
if (id == "")
{
id = null;
}
if (month.HasValue)
currentMonth = month.Value;
else
currentMonth = currentDate.Month;
if (year.HasValue)
currentYear = year.Value;
else
currentYear = currentDate.Year;
data = service.GetHearingsForJudgePanel(id, currentMonth, currentYear, caseNumber, caseYear);
return Json(data, JsonRequestBehavior.AllowGet);
}
は私のサービスメソッドでありますリスト結果=新しいリスト(); リストヒアリング=新しいリスト(); MVCコントローラで
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["DapperConnection"].ToString();
con = new SqlConnection(constr);
hearings = con.Query<HearingsForCalendarViewModel>("GetHearingsForCalendar", new { id, month, year, caseNumber, caseYear }, commandType: CommandType.StoredProcedure).ToList();
const string protocol = "http://";
const string baseAddress = "93.152.175.226";
const string path = "/Cases/Details/";
foreach (var hearing in hearings)
{
var link = $"<a href=\"{protocol}{baseAddress}{path}{hearing.caseId}\">{hearing.CaseNumber}</a>";
var obj = new
{
id = hearing.id,
title = string.Format("Hearing({0} - {1}) in the case №{2}/{3}", hearing.HearingStart.Value.ToString("H:mm"), hearing.HearingEnd.Value.ToString("H:mm"), link, hearing.CaseYear),
start = hearing.HearingStart.Value.ToString("yyyy-MM-dd HH:mm:ss"),
end = hearing.HearingEnd.Value.ToString("yyyy-MM-dd HH:mm:ss")
};
result.Add(obj);
}
return result;
}
今後、実際に情報を保持する質問タイトルを書き留めてください。 **ここに質問を投稿する人は、**仕事に助けを必要としない**はありません。明確な問題の説明は、毎日このサイトに洪水を発生させるゴミを選別するのに役立ちます。 =) –
私は質問のタイトルをより有益なものにします – ppetyr