gpt4 book ai didi

c# - 在 C# 中生成 JavaScript 和后续测试

转载 作者:太空狗 更新时间:2023-10-30 01:11:25 25 4
gpt4 key购买 nike

我们目前正在开发一个 ASP.NET MVC 应用程序,它大量使用基于属性的元数据来驱动 JavaScript 的生成。

下面是我们正在编写的方法类型的示例:

function string GetJavascript<T>(string javascriptPresentationFunctionName,
string inputId,
T model)
{
return @"function updateFormInputs(value){
$('#" + inputId + @"_SelectedItemState').val(value);
$('#" + inputId + @"_Presentation').val(value);
}

function clearInputs(){
" + helper.ClearHiddenInputs<T>(model) + @"
updateFormInputs('');
}

function handleJson(json){
clearInputs();
" + helper.UpdateHiddenInputsWithJson<T>("json", model) + @"
updateFormInputs(" + javascriptPresentationFunctionName + @"());
" + model.GetCallBackFunctionForJavascript("json") + @"
}";
}

此方法生成一些样板,并传递给各种其他返回字符串的方法。然后将整个批处理作为字符串返回并写入输出。

我的问题是:

1) 除了使用大字符串 block 之外,还有更好的方法吗?

我们考虑过使用 StringBuilder 或 Response Stream,但它看起来很“嘈杂”。使用 string.format 开始变得难以理解。

2) 您将如何对这段代码进行单元测试?只是进行字符串比较以查找字符串中的特定输出似乎有点业余。

3) 如何实际测试最终的 JavaScript 输出?

感谢您的意见!

最佳答案

我们创建了一个库,专门用于将 JavaScript 以类似流利的语法嵌入到我们的 C# 代码中,然后将其开源。

看看Adam.JSGenerator .

关于c# - 在 C# 中生成 JavaScript 和后续测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2628851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com