2014-10-07 50 views
-1

使用onclick元素更新剃刀变量是否可能?使用onclick元素更新剃刀变量

MVC视图:

@{ 
    string iconNumber = "1"; 
} 

<button type="submit" onclick="@iconNumber = '2'; alert('@iconNumber');"></button> 

控制台错误: 未捕获的ReferenceError:在分配无效的左侧

谢谢

+0

是否有任何理由变量需要是一个剃刀变量?你通常不会实现这样的工作流程......你最终的目标是什么?你想发送一些价值回到服务器?检索一个服务器的值,然后在客户端上操作它? – tintyethan 2014-10-07 14:23:31

+0

我想在我的ajax.beginform中使用该变量,onbegin,所以我可以设置应该在开始时隐藏哪个图标。我有三个相同表单的提交按钮。按下(提交)的按钮应该隐藏。我不能简单地将它隐藏在onclick中,因为我正在使用jquery验证,如果表单没有在我的oncomplete函数中结束,我不想隐藏它。哇,希望我现在不会混淆你太多。 – Reft 2014-10-07 14:29:19

+0

错误分配中无效的左侧,因为你试图给一个常量赋值意味着'1'='2' – SDK 2014-10-07 15:31:53

回答

0

在第二天读这个问题时,人们会认为我是在毒品的影响下。

我想出了一个更好的解决办法,只有使用JavaScript变量:

VIEW:

<script>var iconNumber = 0;</script> 

@using (Ajax.BeginForm("", "", 
        new AjaxOptions 
        { 
         OnBegin = "$('#iconElement' + iconNumber).attr('class', 'fa fa-spinner fa-spin');", 
         HttpMethod = "POST" 
        })) 
    { 
Html input here 

<button type="submit" class="btn btn-danger" id="IconElement1" onclick="iconNumber = 1;"> 
<button type="submit" class="btn btn-danger" id="IconElement2" onclick="iconNumber = 2;"> 
<button type="submit" class="btn btn-danger" id="IconElement3" onclick="iconNumber = 3;"> 

} 

我现在可以禁用表单提交后,防止多个请求。因为我不直接在onclick中启动微调器,所以我不必禁用按钮,(微调不会启动)。

0

我无法从理解你的意见,你试图更新剃刀变量的目的是什么,但如果你是真的LY想你的剃须刀变量更新1到2(从你的问题),那么我会建议尝试像下面

 @{ 
     int iconNumber = 1; 
     } 

然后,

 <button type="submit" onclick="@(iconNumber++); alert('@iconNumber');"></button> 

希望它可以帮助...还要注意那iconNumber将每增加一次点击按钮。所以,我可以帮助你,如果你展示更多的代码