簡體   English   中英

Viewbag 值未顯示在 ASP.NET MVC 視圖中

[英]Viewbag value not show in ASP.NET MVC view

我正在使用 C# 和 ASP.NET MVC 並嘗試將數據從 controller 傳遞到視圖。 當我調試數據顯示在 viewbag 中但未顯示在視圖中時。 錯誤未定義 我不知道為什么這段代碼會顯示錯誤。

這是屏幕截圖:

調試結果截圖

C# 代碼:

public JsonResult mselectCOACodes(string gl_code)
{
    ViewBag.mainCode = gl_code.Substring(0, 2) + "-00-00-0000";

    if (ViewBag.mainCode != "")
    {
        ViewBag.mainDesc = _ICOA.mSelectChartofAccount(ViewBag.mainCode);
    }

    return Json("", JsonRequestBehavior.AllowGet);
}

jQuery:

<script type="text/javascript">
    jQuery(document).ready(function ($) {
        $("#txtvglcode").change(function () {

            $.ajax({
                type: "GET",
                url: "/ChartofAccount/mselectCOACodes",
                data: {
                    gl_code: $("#txtvglcode").val() 
                },
                contentType: "application/json; charset=utf-8",
                dataType: "json",
              
                failure: function (response) {
                    alert(response.responseText);
                },
                error: function (response) {
                    alert(response.responseText);
                }
            });
        });
    });
</script>

看法

<div class="col-sm-6">
    <div class="col-sm-3">
        <div class="form-group">
            <b>Main Code</b>
            <div class="form-line">
                <input type="text" id="txtglmainCode" 
                       value="@ViewBag.mainCode" class="form-control" placeholder="" />
            </div>
        </div>
    </div>
    <div class="col-sm-3">
        <div class="form-group">
            <b>Description</b>
            <div class="form-line">
                <input type="text" id="txtmainDescription" 
                       value="@ViewBag.mainDesc" class="form-control" placeholder="" />
            </div>
        </div>
    </div>
</div>

首先,不要使用@ViewBag來存儲輸入值,因為您無法在 C# 代碼中訪問它的值。
這是 C# 代碼:

public JsonResult mselectCOACodes(string gl_code)
{
    string mainCode = gl_code.Substring(0, 2) + "-00-00-0000";

    if (mainCode != "")
    {
       string mainDesc = _ICOA.mSelectChartofAccount(ViewBag.mainCode);
    }

    return Json(mainDesc, JsonRequestBehavior.AllowGet);
}

這是 JQuery:

<script type="text/javascript">
    jQuery(document).ready(function ($) {
        $("#txtvglcode").change(function () {

            $.ajax({
                type: "GET",
                url: "/ChartofAccount/mselectCOACodes",
                data: {
                    gl_code: $("#txtvglcode").val() 
                },
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (mainDesc) {
                    $("#txtmainDescription").val(mainDesc);
                },
                failure: function (response) {
                    alert(response.responseText);
                },
                error: function (response) {
                    alert(response.responseText);
                }
            });
        });
    });
</script>  

看法:

<div class="col-sm-6">
    <div class="col-sm-3">
        <div class="form-group">
            <b>Main Code</b>
            <div class="form-line">
                <input type="text" id="txtglmainCode" 
                       value="" class="form-control" placeholder="" />
            </div>
        </div>
    </div>
    <div class="col-sm-3">
        <div class="form-group">
            <b>Description</b>
            <div class="form-line">
                <input type="text" id="txtmainDescription" 
                       value="" class="form-control" placeholder="" />
            </div>
        </div>
    </div>
</div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM