2

I have an Asp.Net mvc 3 project I'm using razor, and need to generate guids in javascript

I was trying this:

<script type="text/javascript">
$(document).ready(function () {
    function getNewGuid() {
        return '@Guid.NewGuid()';
    }

I'm using inside the click event for a button, but the second call to the function is returning the same value

What should I do for reevaluating the function with each call?

Rodrigo Juarez
  • 1,745
  • 1
  • 23
  • 38

2 Answers2

5

The

@Guid.NewGuid()

is evaluated server-side when the page is rendered, so you will always get the same value.

You need a Javascript Guid library from somewhere.

Try the accepted answer to this question.

While you could make an Ajax call to the server, it's pretty pointless if all you're after is a unique value that could be generated far more efficiently client-side.

Community
  • 1
  • 1
Steve Morgan
  • 12,978
  • 2
  • 40
  • 49
1

Create a controller then use JSON to return a new Guid from the server. Then use $().ajax to get the value.

If you don't want to ask the server for one use the following answer Create GUID / UUID in JavaScript?

Community
  • 1
  • 1
Chris Lucian
  • 1,013
  • 6
  • 15