asp中怎么给include的内容传递参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp中怎么给include的内容传递参数相关的知识,希望对你有一定的参考价值。

传不了的。一个ASP页面中,include的文件是最先执行的,但事实上,服务器只是把include的文件代码提取出来复制到ASP文件中标有<!--#include...-->的地方,然后ASP才开始运行。也就是说include中的代码并不是单独执行的,而是拼接到ASP文件中才开始运行的,所以给include传递参数是没有实际意义的。
如果非要传递参数,可以把参数直接写在ASP文件中include之前即可,比如:
......
x = 123 \'这是要传递的参数
<!--#include file="......"-->
aaaaa \'asp中的语句
bbbbbb \'asp中的语句
cccc \'asp中的语句
......
参考技术A 第一个页面为send.aspx,第二个页面为receive.aspx 1、通过URL链接地址传递 (1) send.asp代码 代码如下: protected void Button1_Click(object sender, EventArgs e) Request.Redirect("Default2.aspx?username=honge");

JQuery 不会将任何内容传递给 ASP.NET 控制器

【中文标题】JQuery 不会将任何内容传递给 ASP.NET 控制器【英文标题】:JQuery won't pass anything to ASP.NET Controller 【发布时间】:2012-11-30 19:11:58 【问题描述】:

我已经使用了两天了,搜索和尝试。但我仍然无法实现我的目标:

将一个 Jquery 对话框滑块值传递给控制器​​。

前端:

@model TheMoodApp.Models.tbl_user
@
    ViewBag.Title = "ControlPanel";
    Layout = "~/Views/Shared/_Layout.cshtml";


<h2>@Html.DisplayFor(u=>u.Forename)'s Control Panel</h2>
@* Adding header stuff for control panel *@
@section DialogControlPanel
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.8.3.js"/>
    <script src="https://raw.github.com/brandonaaron/bgiframe/master/jquery.bgiframe.js"/>
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"/>
    <script src="~/Scripts/MoodAppScripts.js"/>
    <link href="~/Content/MoodApp.css" rel="stylesheet" />

@*The dialog for set initial mood*@
<div id="dialog-modal" title="Hi @Html.DisplayFor(u=>u.Forename)<br/>How do U feel 2Day?">
    <header id="InitialMoodHeader">
        <p>Set UR Mood 
            <input type="text" id="DisplayMood" readonly="readonly"/>
        </p>
    </header>
    <section id="InitialMoodSlider">
        <div id="MoodSlider"></div>
    </section>
</div>

Javascript 文件:

$(document).ready(

function () 
    $("#dialog-modal").dialog(
        height: 140,
        modal: true,
        buttons: 
            "This is my Mood": function () 
                $.ajax(
                    url: '@Url.Action("User", "CheckInMood")',
                    data: JSON.stringify( mood: $("#DisplayMood").val() ),
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                );
                $(this).dialog("close");
            
        

    );

    $("#MoodSlider").slider(
        //TODO: IMPLEMENT JSON TO GET MOOD; ATM FEATURE IS FIXED.
        range: "max",
        min: 0,//scales minimum
        max: 3,//scales maximum
        value: 2,//default value
        slide: function (event, ui) 
            $("#DisplayMood").val(ui.value);//get value from slider and display it
         
    );
    $("#DisplayMood").val(
        $("#MoodSlider").slider("value")
        );//set input value from slider
);

控制器:

[HttpPost]
    public JsonResult CheckInMood(string mood)
    
        //current user checks in with current mood
        uint i = Convert.ToUInt16(mood);
        return Json(View());
    

有人可以帮助我,让这个工作,并向我解释我做错了什么吗?

提前致谢

//敲门

【问题讨论】:

如果您使用浏览器的调试器工具检查 ajax 调用,发送到服务器的值是多少? null、未定义等? 实际上它给了我一个 404 localhost:50670/User/ControlPanel/… ajax 的 url 部分不应该定义我调用后要使用的 url(控制器)吗? 【参考方案1】:

@Url.Action 只能在 razor 文件本身中使用,在脚本标签中等等,现在还有什么地方? (澄清一下)

【讨论】:

【参考方案2】:

您的 JavaScript 文件中似乎包含 Razor 代码:@Url.Action("User", "CheckInMood")

由于这是一个 javascript 文件,因此 Razor 不会用于呈现该值,因此会将其视为文字。

您需要做的是将 URL 从您的视图传递到 JavaScript。

【讨论】:

当然可以。事实上,奎蒂让我明白了方向。我将 url 更改为“../CheckInMood”,告诉控制器(用户)使用另一种方法(CheckInMood)而不是当前的(ControlPanel)。【参考方案3】:

改变:

data: JSON.stringify( mood: $("#DisplayMood").val() )

到:

data:  mood: JSON.stringify($("#DisplayMood").val()) 

你需要字符串化参数的值,而不是参数名。

【讨论】:

以上是关于asp中怎么给include的内容传递参数的主要内容,如果未能解决你的问题,请参考以下文章

springmvc怎么传递参数

如何将文件中的其他参数从 Angular 传递给 ASP.NET Core 控制器?

VB。NET里Response.Redirect传递参数怎么传啊????

asp function 传递两个以上参数报错的问题

asp.net mvc怎样传递多个url参数

asp mvc中action跳到另一个action怎么传递参数