我可以改变参数吗;锁定"
本文关键字:锁定 quot 改变 参数 我可以 | 更新日期: 2023-09-27 18:01:14
我的代码可以工作,我可以上传一个文件。
但是,我如何将typeNavn
设置为其他运行时的值,从而使该值取决于在页面上选择了哪个开关。?
我想将typeNavn
设置为"billeder"或"dokunter"。现在它总是来自ViewBag.typeNavn
的"billeder",这可能吗?怎么可能?
这个动作是不是太静态了,以至于我在运行时无法更改它的任何参数?我试过摆弄一个回调、一个JavaScript变量和一个Razor变量。它要么对我不起作用,要么不会改变它的第一个值。
var upload = $('#upload').wijupload(
{
// Note: the next two lines must be on one line for it to work.
// It's only two on SO so we don't have the x-scrollbar.
action: '@CleanHtml.Clean(Html,@Url.Action( "UploadFiles", "Dokument",
new { typeNavn = ViewBag.typeNavn } ))'
});
您需要一个可以动态更改的JavaScript变量,然后将其用作action
url的一部分。
var typeNavn = ''; // Declare this somewhere. This is updated by some means.
var cleanHtml = '@CleanHtml.Clean(Html)'; // I don't know what Clean() does.
var upload = $('#upload').wijupload(
{
// Note: the next two lines must be on one line for it to work.
// It's only two on SO so we don't have the x-scrollbar.
action: '/UploadFiles/Dokument?typeNavn=' + typeNavn)'
});
好吧,上面代码的布局可能不是你需要的(我不知道cleanHtml
应该是什么(,但使用变量typeNavn
的核心思想是关键。您需要一些更新该变量的方法来反映所选的类型,即某个内容的下拉列表。
有点不清楚。。。你有一个收音机/复选框等,你想在那里更改类型Navn,还是想在控制器中设置?Url。Action将呈现一个字符串,您当然可以使用javascript对其进行更改。然而,在什么情况下你使用这是有点不清楚。
只是猜测你想要这样的东西:
$(".list").change(function(){
var list = $(this);
var url = baseUrl + "?typeNavn=" + list.val(); // How you get baseUrl variable is up to you
var upload = $('#upload').wijupload(
{
action: url
});
});
您可以做的一件事是在加载视图时将控制器操作中的TabName作为参数传递。并相应地设置viewbag的值。因此,这不会是静态的,也不会完美地工作。
第二种方法是,您可以通过jquery 更新querystring参数名称
您可以使用占位符值,该值可以使用.replace()
方法替换为任何所需的值。这是伪代码。在示例中,我使用-1
作为占位符值
代码
var typeNavn = '@ViewBag.typeNavn';
var action = '@CleanHtml.Clean(Html, @Url.Action( "UploadFiles", "Dokument",
new { typeNavn = -1} ))'; //Really have no idean
//Here you can use -1 as place holder which you can replace using JavaScript like
action = action.replace('-1', typeNavn);
var upload = $('#upload').wijupload(
{
action: action
});
注意:我不知道CleanHtml.Clean