使用Javascript正确更新Div并拆分

时间:2013-02-24 01:54:39

标签: javascript vb.net asp.net-mvc-3 asynchronous

这是一个mvc 3 razor vb.net应用程序......我的代码背后一切都很好,所以我决定为进入java的数据添加更多内容,以便屏幕可以提供更多信息关于它的当前进度... getstatus进来的字符串是一个用“/”分隔的字符串,其中data.split(“/”)(0)=函数中的整数和data.split(“/”)( 1)=要在currentEmail div中显示的字符串...这不起作用,这只是因为我是javascript的总菜鸟,我知道它是可能的..

@Code 
ViewData("Title") = "MassEmailSendingStatus"
TempData.Add("emList", TempData("emailaddresses"))
Dim x As String = Guid.NewGuid().ToString
end Code

<div>
<a href="#" id="startProcess">Start Process</a>
</div>
<br />

<div id="currentEmail">

</div>
<div id="statusBorder">
<div id="statusFill">
</div>
</div>
<script type="text/javascript">
  var uniqueId = '@x';
  var tdata = '@TempData("emailaddresses")';
          $(document).ready(function (event) {
          $('#startProcess').click(function () {
              $.post("MassEmailSendingStatus", { id: uniqueId }, function () {
              $('#statusBorder').show();
              getStatus();
          });
          event.preventDefault;
      });
  });

  function getStatus() {
      var url = 'GetCurrentProgress/' + uniqueId;
      $.get(url, function (data) {
          var str = data;
          var n1 = str.split("/");
          var v1 = integer.parseint(n1[0]);
          var v2 = n1[1];
          if (v1 != "100") {
              $('#status').html(data);
              $('#currentEmail').html(v2);
              $('#statusFill').width(v1);
              window.setTimeout("getStatus()", 100);
          }
          else {
              $('#status').html("Done");
              $('#statusBorder').hide();
              alert("The Long process has finished");
          };
      });
  }

 </script>

1 个答案:

答案 0 :(得分:0)

我自己发现了一些浏览器lvl调试..     var v1 = integer.parseint(n1[0]);错误应该是var v1 = ParseInt(n1[0]);区分大小写的语言=不适合像meh这样的新手。

 function getStatus() {
  var url = 'GetCurrentProgress/' + uniqueId;
  $.get(url, function (data) {
      var str = data;
      var n1 = str.split("/");
      var v1 = integer.parseint(n1[0]);
      var v2 = n1[1];
      if (v1 != "100") {
          $('#status').html(data);
          $('#currentEmail').html(v2);
          $('#statusFill').width(v1);
          window.setTimeout("getStatus()", 100);
      }
      else {
          $('#status').html("Done");
          $('#statusBorder').hide();
          alert("The Long process has finished");
      };
  });

}