Comment appeler la méthode dans le bouton de l'événement onclick mvc4?

J'ai une méthode à l'Intérieur de Rasoir vue.

<div style="height: 50px; padding-left: 10%; width: 100%">
                                <b style="font-family: Arial, Helvetica, sans-serif; font-weight: normal; font-size: xx-large">                                        
                                @functions {      
                                    public string schoolname()
                                    {
                                        if (Request.IsAuthenticated && !User.IsInRole("SuperAdmin"))
                                        {
                                            string currentUserName = User.Identity.Name;
                                            return GetHeaderSchoolName(currentUserName);
                                        }
                                        return string.Empty;
                                    }

                                    public string GetHeaderSchoolName(string userName)
                                    {
                                        Guid userId = SchoolBreifcase.Utilities.Common.GetUserId(userName);
                                        SchoolBreifcase.Repositories.AdminRepository adminRepository = new SchoolBreifcase.Repositories.AdminRepository();
                                        SchoolBreifcase.Models.Edmx.UserProfile userProfile = adminRepository.GetUserProfileByUserId(userId);
                                        string CurrentSchoolName = userProfile.School.SchoolName;
                                        return CurrentSchoolName + "xxx";
                                    }
                                                }
                            </div>

J'ai un bouton à l'intérieur de la même rasoir vue.Et j'ai appelé cette méthode(schoolname()) dans mon bouton ci-dessous événement onclick (onclick="schoolname()") s'il vous plaît voir ci-dessous

<div class="logoHeader" style="float: right; width: 15%; padding-top: 5%;">                            
                             **<button onclick="schoolname()"> xx</button>**   
                        </div>

Mais .Sa ne fonctionne Pas . Ma méthode n'est pas appelée .Je n'ai aucune idée pour cette tâche . Vous avez une idée ici? et comment résoudre ce problème ?

Updated:

Je sais que la procédure sont jeté contrôleur ,action résultat,get ,post, java script,jquery,etc ,tous . Ma question est qu'est-Ce que l'utilisation de @functions ? en rasoir vue . Je sais que sa peut les aider à rédiger côté serveur de code à l'intérieur de rasoir vue . mais je ne peux pas appeler cette méthode à un seul bouton, cliquez sur l'événement . Quel est donc l'utiliser ? Son utilisé uniquement pour lors du chargement de la page .

Fini mon auto :

Voir ci-dessous mon Rasoir Vue de la Fonction :

<div style="height: 50px; padding-left: 10%; width: 100%">
                                <b style="font-family: Arial, Helvetica, sans-serif; font-weight: normal; font-size: xx-large">                                        
                                @functions {      
                                    public string schoolname()
                                    {
                                        if (Request.IsAuthenticated && !User.IsInRole("SuperAdmin"))
                                        {
                                            string currentUserName = User.Identity.Name;
                                            return GetHeaderSchoolName(currentUserName);
                                        }
                                        return string.Empty;
                                    }

                                    public string GetHeaderSchoolName(string userName)
                                    {
                                        Guid userId = SchoolBreifcase.Utilities.Common.GetUserId(userName);
                                        SchoolBreifcase.Repositories.AdminRepository adminRepository = new SchoolBreifcase.Repositories.AdminRepository();
                                        SchoolBreifcase.Models.Edmx.UserProfile userProfile = adminRepository.GetUserProfileByUserId(userId);
                                        string CurrentSchoolName = userProfile.School.SchoolName;
                                        return CurrentSchoolName + "xxx";
                                    }
                                                }
                            </div>

Et je suis habitué javascript:window.location.href="schoolname" pour un appel de ma fonction .Son travail maintenant .

<div class="logoHeader" style="float: right; width: 15%; padding-top: 5%;">                            
                                 **<button onclick='javascript:window.location.href="schoolname"'> xx</button>**   
                            </div>

Merci les Gars .

  • MVC est pas WebForms. Ils sont assez différents et ne partagent pas beaucoup en commun. C'est une manière complètement différente de la connexion client/serveur de côté les méthodes. Je recommanderais certainement lu le getting started guide sur asp.net asp.net/mvc/overview/getting-started
  • De pouce à la règle: toujours regarder votre code html généré et demandez-vous: si j'étais un navigateur, où est cette fonction que je suis appelé à invoquer? Ne pouvez pas le voir? Ensuite, il ne fonctionnera pas.
  • Donc je ne peux pas appeler cette fonction dans mon événement clic du bouton . droit ?
  • Pas de. Il doit être relié au serveur en quelque sorte. Merci de regarder des vidéos ou lire des tutoriels. MVC est un animal différent, et facile à se confondre.
  • hmm ok l'ami !!
  • Je crois que je viens de lol serait et puis vu the Crying Game "douche scène".
  • Hmm!! Êtes-vous enfant de moi ?
  • Fini moi-même utilisé : stackoverflow.com/q/16097853/2291535
  • Pensez Webforms , Écrire MVC.

InformationsquelleAutor | 2013-04-19