繁体   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