javascript - 生成随机字符串并检查数据库以确保不重复

标签 javascript string asp.net-mvc-3 random

在 MVC-3(Razor 引擎)中:我想在单击名为 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> 

最佳答案

  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;
      } 

同时在 Home Controller 或带参数的 Controller 中创建“CheckStringExists”ActionMethod。

在 HomeController 中

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

在 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);
}

关于javascript - 生成随机字符串并检查数据库以确保不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16911761/

相关文章:

Javascript Regexp在具有特定结构的文件中查找多个空格

javascript - 在 WordPress 网站中实现外部小部件

regex - 模式匹配使用正则表达式查找大于号

asp.net-mvc-3 - SignalR 0.5.2 - Context.User 在断开连接时为空

javascript - 如何使用 ajax 发布 json 对象?

javascript - 整齐地对齐动态输入

iphone - Xcode .strings 文件似乎不支持阿拉伯文本

c# - 在 Encoding.ASCII.GetString() 之后删除不可打印的值

css - asp.net mvc3 intellisense 不会为 css 类触发

c# - 我什么时候应该在 MVC 中使用 Html.Displayfor