Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在JavaScript中增加Razor变量不是';行不通_C#_Javascript_Jquery_Asp.net Mvc_Razor - Fatal编程技术网

C# 在JavaScript中增加Razor变量不是';行不通

C# 在JavaScript中增加Razor变量不是';行不通,c#,javascript,jquery,asp.net-mvc,razor,C#,Javascript,Jquery,Asp.net Mvc,Razor,我试着做一个分配页面,如果你想添加额外的人,你必须点击“添加一个更多”按钮。我有一个count变量,第一次单击按钮并调用函数时,一切正常,但第二次单击按钮时,我意识到前面的count增量没有得到反映。我应该如何使增量永久化,或使用任何其他解决方案来实现这一点 @{ int count = 1; } <script> function AddNewDoc(ElementId) { //This Increment is not reflected when the functi

我试着做一个分配页面,如果你想添加额外的人,你必须点击“添加一个更多”按钮。我有一个count变量,第一次单击按钮并调用函数时,一切正常,但第二次单击按钮时,我意识到前面的count增量没有得到反映。我应该如何使增量永久化,或使用任何其他解决方案来实现这一点

@{
    int count = 1;
}
<script>
function AddNewDoc(ElementId) {
//This Increment is not reflected when the function is called again
@{
count++;
}

document.getElementById(ElementId).innerHTML = "<td>A</td>" + "<td>B</td>" + "    <td>C</td>" + "<td><input type=\"button\" value=\"Add One More Doctor\"      onclick=\"AddNewDoc(@count)\" /></td></tr>" + "<tr id=\"@count\">";
 }
</script>
@Html.ActionLink("GO BACK TO OPD POSTING", "UnitAndMonth", "OPD")
    <br />

    <br />
    <h2>@ViewBag.msg</h2>

    @using (Html.BeginForm("HandleForm", "OPD", FormMethod.Post))
    {  <table>
    <tr>
        <td>
            @Html.TextBoxFor(x => x[count].dr_name, new { @class = "input1", @id = "tags" })
        </td>
        <td>
            @Html.TextBoxFor(x => x[count].from_date, new { @class = "input1", @id = "datepicker" + count, @readonly = "readonly" })
        </td>

        <td>
            @Html.TextBoxFor(x => x[count].to_date, new { @class = "input1", @id = "datepicker" + count + count, @readonly = "readonly" })
        </td>
        <td>
            <input type="button" value="Add One More Doctor" onclick="AddNewDoc(@count)" />
        </td>

    </tr>
      <tr id="@count"></tr>

    </table>
        <input type="submit" value="Submit" />
    }
@{
整数计数=1;
}
函数AddNewDoc(ElementId){
//再次调用函数时不会反映此增量
@{
计数++;
}
document.getElementById(ElementId).innerHTML=“A”+“B”+“C”+”;
}
@ActionLink(“返回OPD发布”、“UnitAndMonth”、“OPD”)


@ViewBag.msg @使用(Html.BeginForm(“HandleForm”、“OPD”、FormMethod.Post)) { @Html.TextBoxFor(x=>x[count].dr_name,新的{@class=“input1”,@id=“tags”}) @Html.TextBoxFor(x=>x[count].from_date,new{@class=“input1”、@id=“datepicker”+count、@readonly=“readonly”}) @Html.TextBoxFor(x=>x[count].to_date,new{@class=“input1”、@id=“datepicker”+count+count、@readonly=“readonly”}) }
我认为在上面的代码中,您的计数将始终是2。你也应该重新考虑

    <tr id="count"></tr>

因为id应该比一个整数更具描述性

尝试清除所有@count,例如:

    <script>

    var count = 1;
    function AddNewDoc(ElementId) {
            count = count+1;
            document.getElementById(ElementId).innerHTML = "<td>A</td>" + "<td>B</td>" + "    <td>C</td>" + "<td><input         type=\"button\" value=\"Add One More Doctor\"      onclick=\"AddNewDoc(count)\" /></td></tr>" + "<tr id=\"count\">";
     }

     </script>

     <input type="button" value="Add One More Doctor" onclick="AddNewDoc(count)" />

var计数=1;
函数AddNewDoc(ElementId){
计数=计数+1;
document.getElementById(ElementId).innerHTML=“A”+“B”+“C”+”;
}

您需要理解客户端代码和服务器端代码之间的区别。Javascript不能这样调用服务器端代码。服务器端代码将仅在加载页面时运行。有没有理由不想将代码的值存储在javascript变量或HiddenField中?没有,没有任何理由。但是如何在“@Html.TextBoxFor”标记中使用javascript变量呢