小编And*_*dyM的帖子

HtmlHelper扩展方法的HTML编码

首先,我使用带有Razor视图引擎的MVC 3 RC1.我有一个HTML帮助扩展,如下所示:

public static string TabbedMenuItem(this HtmlHelper htmlHelper, string text, string actionName, string controllerName) {
    StringBuilder builder = new StringBuilder();
    builder.Append("<li>");

    builder.Append(text);

    builder.Append("</li>");
    return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)

在视图上它被称为这样:

@Html.TabbedMenuItem("Home", "Index", "Home")
Run Code Online (Sandbox Code Playgroud)

我得到的问题是MVC自动对视图中的结果进行HTML编码,所以我得到的是字符串的编码版本:

<li>Home</li>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何禁用HTML帮助扩展的自动编码?

在此先感谢安迪

asp.net-mvc html-helper html-encode razor asp.net-mvc-3

10
推荐指数
1
解决办法
4971
查看次数

在Vue应用程序中创建类的单个实例

我是Vue的新手,我正竭尽全力围绕如何实现对我来说似乎是全局变量或单例的好案例的实现。

背景是我正在使用Azure AD B2C与MSAL库进行身份验证。MSAL要求声明的单个实例,Msal.UserAgentApplication然后通过应用程序共享。

我正在努力的是如何在中央某个位置声明该实例,然后从包括路由器的每个组件中访问它。

目前,我有一个类似于以下示例的类:https : //github.com/sunilbandla/vue-msal-sample/blob/master/src/services/auth.service.js以及何时需要使用我正在做的方法:

var authService = new AuthService();
authService.Login();
Run Code Online (Sandbox Code Playgroud)

不幸的是,每次实例化该类时,都会创建一个新的MSAL实例,这又导致我的用户最终陷入了身份验证循环。

任何帮助将不胜感激。

非常感谢。


从以下Teddy的答案开始,我对我main.js进行了如下修改:

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import './registerServiceWorker'
import AuthService from './services/AuthService';

Vue.config.productionTip = false

Vue.prototype.$authService = new AuthService();

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app');
Run Code Online (Sandbox Code Playgroud)

而我的register.vue组件如下:

<template>
  <div class="about">
    <h1>This is the register page, it should redirect off to B2C</h1>
  </div>
</template>

<script> …
Run Code Online (Sandbox Code Playgroud)

vue.js azure-ad-b2c azure-ad-msal

3
推荐指数
2
解决办法
3014
查看次数