亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 MVC5 中傳遞 URL 中的變量

在 MVC5 中傳遞 URL 中的變量

C#
陪伴而非守候 2021-11-07 18:53:06
我正在編寫 MVC5 和 C#。我有一個索引視圖,它只有一個由控制器填充的下拉列表 - 帶有兩個表字段(File_Desc 和 Track_Nmbr)。當用戶從下拉列表中選擇 File_Desc 時,它會觸發 javascript 重定向并將 Track_Nmber 作為“關鍵字”傳遞給名為“列表”的視圖。List 然后顯示數據庫中具有相同 Track_Nmbr 的所有項目。這部分全部按設計工作。我迷路的地方是下一步。從 LIST 視圖中,在用戶查看當前項目后,他們可以輸入與此 Track_Nmbr 關聯的新項目。因此,我希望創建視圖打開并預填充 Track_Nmbr 字段。我可以很容易地從索引視圖下拉列表中獲取 TRACK_NMBR 并將其傳遞給列表視圖。但是我如何再次將它傳遞給創建視圖?因為我無法再從下拉列表中抓取它。我一直在尋找和閱讀,但時間至關重要。我仍然會繼續尋找信息并盡力解決它,但我在磚墻上。我對 MVC5 很陌生。我將分享我所有的代碼,這樣你就可以看到我到目前為止是如何設置的。我正在尋找最簡單的解決方案來打開創建視圖并預填充 TRACK_NMBR 字段。代碼:索引控制器   public ActionResult Index()    {        // Create Drop Down List from Data_Catalog        {            List<SelectListItem> testList = db.DATA_CATALOG.Select(x => new SelectListItem { Value = x.TRACK_NMBR.ToString(), Text = x.FILE_DESC, Selected = false }).DistinctBy(p => p.Text).ToList();            ViewBag.testList = new SelectList(testList, "Value", "Text");            return View();        }        // End Drop Down List    }代碼:索引視圖@section scripts{<script type="text/javascript">    $(document).ready(function () {        $("#testList").on("change", function () {            window.location.href = "@Url.Action("Create")?keyword=" + $("#testList").val();        });    })</script>}@Html.DropDownList("testList", null, "Select File")如您所見,我在視圖上放置了一個復選框。當用戶單擊框添加新的 File_Desc 時。我想(再次)將關鍵字 (track_nmbr) 發送到創建視圖并預填充 Track_Nmbr 字段。但是,我的關鍵字現在未定義。而且我不知道如何從 url 中獲取它并將其傳遞給 Create View,就像我在 Index to List 視圖中所做的那樣。如果我可以將帶有關鍵字的 url 發送到創建視圖,我可以得到其余的。同樣,MVC5 非常新,我很頭疼。C# 對我來說也是新手,因為我來自 VB.net 背景。但是,我發現使用 vb.net 在 MVC5 中找不到好的示例,因此我也在解決 c# 的學習曲線問題。
查看完整描述

1 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

您需要基本上將軌道編號從您的List操作方法傳遞到視圖,以便它可以用于創建Create鏈接 url,您可以在其中將軌道編號值作為查詢字符串項傳遞


由于您沒有使用視圖模型,因此您可以使用 ViewBag 來傳遞此數據。


public async Task<ActionResult> List(string searchString, int keyword)

{

  //Your existing code

  ViewBag.Track = keyword;

  return View(await catalogs.ToListAsync());

現在在您看來,您可以使用ActionLink采用路由值字典對象的重載之一。


@Html.ActionLink("Create New", "Create","Home",new { keyword = ViewBag.Track }, null)

這將創建一個帶有 href 值的錨標記,它有一個帶有鍵的查詢字符串項,keyword它的值將是您在List操作方法中收到的任何值。


確保您的Create操作方法有一個參數來接受查詢字符串值


public ActionResult Create(int keyword)

{

  // to do : use keyword value

  // to do : return something

}


查看完整回答
反對 回復 2021-11-07
  • 1 回答
  • 0 關注
  • 212 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號