Это преобразование свойства asp.net в MVC .
Объявить вспомогательный класс:
namespace MyTestProject.Helpers
{
using System.Web;
public static class PathHelper
{
public static string FullyQualifiedApplicationPath(HttpRequestBase httpRequestBase)
{
string appPath = string.Empty;
if (httpRequestBase != null)
{
//Formatting the fully qualified website url/name
appPath = string.Format("{0}://{1}{2}{3}",
httpRequestBase.Url.Scheme,
httpRequestBase.Url.Host,
httpRequestBase.Url.Port == 80 ? string.Empty : ":" + httpRequestBase.Url.Port,
httpRequestBase.ApplicationPath);
}
if (!appPath.EndsWith("/"))
{
appPath += "/";
}
return appPath;
}
}
}
Использование:
Использовать с контроллера:
PathHelper.FullyQualifiedApplicationPath(ControllerContext.RequestContext.HttpContext.Request)
Использовать в представлении:
@using MyTestProject.Helpers
PathHelper.FullyQualifiedApplicationPath(Request)
Вот мое редактирование с немного меньшим количеством кода.
class Button: UIButton {
private var originalButtonText: String?
private lazy var activityIndicator: UIActivityIndicatorView = {
let activityIndicator = UIActivityIndicatorView()
activityIndicator.translatesAutoresizingMaskIntoConstraints = false
activityIndicator.color = .black
addSubview(activityIndicator)
NSLayoutConstraint.activate([
activityIndicator.centerYAnchor.constraint(equalTo: self.centerYAnchor),
activityIndicator.centerXAnchor.constraint(equalTo: self.centerXAnchor)
])
return activityIndicator
}()
func loading(_ isLoading: Bool) {
isEnabled = !isLoading
if isLoading {
originalButtonText = titleLabel?.text
setTitle("", for: .normal)
activityIndicator.startAnimating()
} else {
setTitle(originalButtonText, for: .normal)
activityIndicator.stopAnimating()
}
}
}