1

MVC-3 (Razor Engine) では: というボタン クリックでランダムな文字列を生成したいのですが、ランダムな文字列を生成するNextAvailable前に、既に生成されているかどうかを SQL データベースで確認する必要があります。データベースに既に存在する場合は、新しい文字列を生成します。誰でも私を助けてくれませんか...これがランダム文字列を生成するための私のコードです:

 <script type="text/javascript"> 
    function btnNextAvailable_OnClick() { 
     $("#nextAvailableButtonClick.val('true')"); 
     var mode = $.hash.getValue("m"); 
     var chars = "0123456789"; 
     var stringLength = 3; 
     var randomstring = ''; 
     for (var i = 0; i < stringLength; i++) { 
      var rnum = Math.floor(Math.random() * chars.length); 
      randomstring += chars.substring(rnum, rnum + 1); 
     } 
     document.getElementById("SequentialId").value = randomstring 
    }
</script> 
4

1 に答える 1

1
  function btnNextAvailable_OnClick() { 
        var randomstring=GenerateRandonString();
        while(IsRandomStringExists(randomstring))
        {
            document.getElementById("SequentialId").value = randomstring 
        }

        document.getElementById("SequentialId").value = randomstring 
    }
 function IsRandomStringExists(randomstring)
 {
   $.get('Home/CheckStringExists/'+randomstring  ,function(response)
     {

        if(response=="true")
            {
               return true;
            }else
           {
              return false;
           }
      });
   }
     function GenerateRandonString()
      {
        $("#nextAvailableButtonClick.val('true')"); 
        var mode = $.hash.getValue("m"); 
        var chars = "0123456789"; 
        var stringLength = 3; 
        var randomstring = ''; 
        for (var i = 0; i < stringLength; i++) { 
        var rnum = Math.floor(Math.random() * chars.length); 
        randomstring += chars.substring(rnum, rnum + 1); 
        return randomstring;
      } 

Also create "CheckStringExists" ActionMethod in Home controller or in your controller with parameter.

In HomeController

public JsonResult CheckStringExists(string id)
{
    //Write database logic here
    return Json((object)"true", JsonRequestBehavior.AllowGet);
}

In HomeController

public JsonResult CheckStringExists(string id)
{           
    var customer = ObjectContext.Companies.OfType<TrueTracEntities.Customer>().Where(r =>  r.SequentialId.Equals(id)).FirstOrDefault();      
    return Json((object)"true", JsonRequestBehavior.AllowGet);
}
于 2013-06-04T07:30:53.297 に答える